|
|
RwD3D9ChangeMultiSamplingLevels is used to force an immediate change of the multisampling levels. This function should be called before any graphics are rendered or immediately after RwRasterShowRaster or RwCameraShowRaster and before the next frame is submitted.
|
|
|
RwD3D9ChangeVideoMode is used to force an immediate change of video mode. This function should be called before any graphics are rendered or immediately after RwRasterShowRaster or RwCameraShowRaster and before the next frame is submitted.
|
|
||||||||||||
|
RwD3D9CreatePixelShader creates a pixel shader.
|
|
||||||||||||||||||||
|
RwD3D9CreateVertexBuffer creates a managed vertex buffer of a specified size aligned to the stride provided. The vertex buffer manager tries to share the same vertex buffer across different atomics and world sectors to reduce the number of vertex buffer switches at runtime. That is the reason this function returns an offset, to indicate the beginning of the allocated block on the shared vertex buffer.
|
|
||||||||||||
|
RwD3D9CreateVertexDeclaration creates a vertex declaration.
|
|
||||||||||||
|
RwD3D9CreateVertexShader creates a vertex shader and if created successfully sets that shader as the current shader. A vertex shader is defined by two token arrays that specify the declaration and function of the shader. The token arrays are composed of single or multiple DWORD tokens terminated by a special 0xFFFFFFFF token value. The shader declaration defines the static external interface of the shader, including binding of stream data to vertex register inputs and values loaded into the shader constant memory. The shader function defines the operation of the shader as an array of instructions that are executed in order for each vertex processed during the time the shader is bound to a device. Shaders created without a function array apply the fixed function vertex processing when that shader is current.
|
|
|
RwD3D9DeletePixelShader deletes the pixel shader referred to by the specified pointer.
|
|
|
RwD3D9DeleteVertexDeclaration deletes the vertex declaration referred to by the specified pointer and frees up the associated resources.
|
|
|
RwD3D9DeleteVertexShader deletes the vertex shader referred to by the specified pointer and frees up the associated resources.
|
|
||||||||||||||||||||
|
RwD3D9DestroyVertexBuffer releases a block of a previously allocated managed vertex buffer. This block could either be a part of or the whole of the vertex buffer. The stride, size and offset parameters are used to identify the block in the vertex buffer.
|
|
|
RwD3D9DeviceSupportsDXTTexture is used to query the D3D9 device as to whether D3D9 compressed textures can be loaded as RenderWare textures. If this function returns TRUE, RwD3D9DDSTextureRead will load compressed DDS files into RenderWare textures. Note that this function must be called after RwEngineStart.
|
|
||||||||||||||||||||||||||||
|
RwD3D9DrawIndexedPrimitive renders the specified geometric primitive, based on indexing into an array of vertices. This function draws indexed primitives from the current set of data input streams. It is advised that you batch primitives when calling this function to maximize efficiency. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::DrawIndexedPrimitive since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
||||||||||||||||||||||||||||||||
|
RwD3D9DrawIndexedPrimitiveUP renders the specified geometric primitive, based on indexing into an array of vertices with data specified by a user memory pointer. This function is intended for use in applications that are unable to store their vertex data in vertex buffers. This method supports only a single vertex stream. The effect of this call is to use the provided vertex data pointer and stride for vertex stream zero. It is advised that you batch primitives when calling this function to maximize efficiency. Also it should be noted that the user memory pointer functions are slower than those that use a D3D9 vertex buffer. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::DrawIndexedPrimitiveUP since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
||||||||||||||||
|
RwD3D9DrawPrimitive renders a sequence of non-indexed, geometric primitives of the specified type from the current set of data input streams. It is advised that you batch primitives when calling this function to maximize efficiency. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::DrawPrimitive since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
||||||||||||||||||||
|
RwD3D9DrawPrimitiveUP renders the specified non-indexed geometric primitive with data specified by a user memory pointer. This function is intended for use in applications that are unable to store their vertex data in vertex buffers. This method supports only a single vertex stream. The effect of this call is to use the provided vertex data pointer and stride for vertex stream zero. It is advised that you batch primitives when calling this function to maximize efficiency. Also it should be noted that the user memory pointer functions are slower than those that use a D3D9 vertex buffer. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::DrawPrimitiveUP since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
||||||||||||
|
RwD3D9DynamicVertexBufferCreate creates a vertex buffer of a specified size. If an "unused" buffer already exists, of the same size, then this will be used in preference to constructing a new vertex buffer. Otherwise, a new vertex buffer is created. If the host video card driver supports hardware TnL then it will created in video memory, otherwise in system memory. While RWD3D9 maintains it's internal cache, vertex buffers will function at optimum performance.
|
|
|
RwD3D9DynamicVertexBufferDestroy destroys a previously created vertex buffer. To be precise, the vertex buffer is not deallocated from memory, but is instead declared to be "unused", and may therefore be reused by a future call to RwD3D9DynamicVertexBufferCreate should the size and vertex formats requested coincide.
|
|
||||||||||||||||||||||||
|
RwD3D9DynamicVertexBufferLock locks an available section of an internally managed dynamic vertex buffer ready for use by an application. The vertex format size and number of vertices required defines the size of the section in the vertex buffer. Pointers to the vertex buffer and the start of the vertex data are returned through vertexBufferOut and vertexDataOut, respectively. The base index of the vertex data block in the vertex buffer is also returned in baseIndexOut.
|
|
|
RwD3D9DynamicVertexBufferUnlock unlocks a previously locked internally managed vertex buffer that was provided through RwD3D9DynamicVertexBufferLock.
|
|
||||||||||||
|
RwD3D9EnableLight enables or disables a set of lighting parameters. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::EnableLight since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
|
RwD3D9EngineGetMaxMultiSamplingLevels returns the maximum available levels of multisampling for the current subsystem and video mode. Call this function after RwEngineOpen and before RwEngineStart.
|
|
|
RwD3D9EngineSetMultiSamplingLevels sets the number of multisampling levels for the current subsystem and video mode. Call this function after RwEngineOpen and before RwEngineStart. If the current subsystem and video mode doesn't support the specified number of multisampling levels, RWD3D9 will choose the highest number of supported multisampling levels below that which was specified. Note that changing the current subsystem or the current video mode will reset the number of multisampling levels to 1.
|
|
|
RwD3D9EngineSetMultiThreadSafe indicates that the application requests Direct3D to be multithread safe. This makes Direct3D take its global critical section more frequently, which can degrade performance. Call this function after RwEngineOpen and before RwEngineStart.
|
|
|
RwD3D9EngineSetRefreshRate sets the rate in Hertz at which the display adapter refreshes the screen. Call this function after RwEngineOpen and before RwEngineStart. If the current subsystem and video mode doesn't support the specified refresh rate, RWD3D9 will choose the highest supported refresh rate below that which was specified.
|
|
|
RwD3D9EngineSetSoftwareVertexProcessing indicates that the application requests Direct3D to use software vertex processing. Call this function after RwEngineOpen and before RwEngineStart.
|
|
|
RwD3D9GetCaps return a const void pointer to a D3DCAPS9 structure for the current active device. Use this function in preference to obtaining the current D3D9 device since it will maintain RWD3D9's internal cache. The capabilities of the video card associated with the D3D9 device can be queried through the pointer to the structure returned from this function. See the D3D9 API documentation for more information.
|
|
|
RwD3D9GetCurrentD3DDevice is used to determine which (if any) Direct3D9 device is being used for 3D rendering of the current scene. It is expected that, once cast to a LPDIRECT3DDEVICE9 pointer, the device returned by this function can be used to call D3D9 functions from outside of RenderWare. This should be done with caution however as RenderWare maintains an internal cache that will not be updated by external D3D9 calls. In fact, the cache is made invalid when RwD3D9GetCurrentD3DDevice is called. Because of this, if the device is required, it is recommended that it is obtained immediately after RwEngineStart is called since this does not invalidate the cache.
|
|
|
RwD3D9GetCurrentD3DRenderTarget is used to determine which (if any) LPSURFACE is being used as the target for 3D rendering of the current scene. It is expected that, once cast to a LPSURFACE pointer, the surface returned by this function can be used as a parameter to D3D functions from outside of RenderWare, giving greater flexibility to the programmer at the expense of portability. This should be done with caution however as RenderWare maintains an internal cache that will not be updated by external D3D9 calls.
|
|
||||||||||||
|
RwD3D9GetLight retrieves a set of lighting properties for the requested lights array index. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::GetLight since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
|
RwD3D9GetStencilClear returns the current value that will be stored in each stencil-buffer entry when it is cleared.
|
|
||||||||||||
|
RwD3D9GetTransform retrieves a matrix describing a transformation state. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::GetTransform since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
||||||||||||
|
RwD3D9IndexBufferCreate creates a 16-bit index buffer that is write-only and managed by D3D9. Index buffers created using this function are not managed by RWD3D9, unlike dynamic vertex buffers.
|
|
||||||||||||
|
RwD3D9SetClipPlane sets the coefficients of a user-defined clipping plane. The coefficients that this method sets take the form of the general plane equation. If the values in plane were labeled A, B, C, and D in the order that they appear in RwV4d, they would fit into the general plane equation so that Ax + By + Cz + Dw = 0. A point with homogeneous coordinates (x, y, z, w) is visible in the half space of the plane if Ax + By + Cz + Dw >= 0. Points that exist behind the clipping plane are clipped from the scene. When the fixed function pipeline is used the plane equations are assumed to be in world space. When the programmable pipeline is used the plane equations are assumed to be in the clipping space (the same space as output vertices).
|
|
|
RwD3D9SetFVF sets the current vertex stream declaration in RWD3D9. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::SetFVF since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
|
RwD3D9SetIndices sets the current index array to an index buffer. The single set of indices is used to index all streams of vertex buffers. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::SetIndices since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
||||||||||||
|
RwD3D9SetLight assigns a set of lighting properties in the requested lights array index. It is advised for efficiency purposes for applications using a large number of lights in an array, that the whole array of lights is sent to D3D9 with those individual lights required enabled, rather than sending individual lights. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::SetLight since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
|
RwD3D9SetMaterial sets the material properties to be used in subsequent rendering operations. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::SetMaterial since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
|
RwD3D9SetPixelShader is used to set the pixel shader used to process pixels in RWD3D9. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9:SetPixelShader since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
||||||||||||||||
|
RwD3D9SetPixelShaderConstant sets the values in the pixel constant array. This is the method used to load the constant registers of the pixel shader assembler.
|
|
||||||||||||
|
RwD3D9SetRenderTarget sets the raster to be used as the target for 3D rendering of the current scene.
|
|
|
RwD3D9SetStencilClear sets the value to store in each stencil-buffer entry. rwCAMERACLEARSTENCIL can be OR'd into the camera clear flags to clear the stencil buffer.
|
|
||||||||||||||||||||
|
RwD3D9SetStreamSource binds a vertex buffer to a device data stream. This function creates an association between vertex data and a data stream that feeds RWD3D9 primitive processing functions. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::SetStreamSource since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
||||||||||||||||
|
RwD3D9SetSurfaceProperties sets the surface properties to be used in subsequent rendering operations. This function internally converts the RenderWare RwSurfaceProperties to the equivalent D3D9 D3DMATERIAL9 structure, and sets this as the current material for subsequent rendering operations.
|
|
||||||||||||
|
RwD3D9SetTexture assigns a texture to a stage. This function may change the following texture or sampler states for the selected stage, if the states stored in the RwTexture do not match those cached in the D3D9 driver:
|
|
||||||||||||
|
RwD3D9SetTransform sets a transformation-related state. These states refer to the view, projection, texture, and world matrices in D3D9. See the D3D9 API documentation from Microsoft for more details. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::SetTransform since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
|
RwD3D9SetTransformWorld sets the object-to-world transformation matrix. This function internally converts the RenderWare RwMatrix to the equivalent D3D9 D3DMATRIX structure, and sets this as the current world transformation matrix.
|
|
|
RwD3D9SetVertexDeclaration sets the current vertex stream declaration in RWD3D9. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::SetVertexDeclaration since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
|
RwD3D9SetVertexShader is used to set the vertex shader used to process vertices in RWD3D9. It is preferred that this utility function is used rather than the D3D9 API function IDirect3DDevice9::SetVertexShader since RenderWare can optimize performance using it's internal cache. See Device Cache.
|
|
||||||||||||||||
|
RwD3D9SetVertexShaderConstant sets values in the vertex constant array. This is the method used to load the constant registers of the vertex shader assembler. When loading transformation matrices, the application should transpose them row/column and load them into consecutive constant registers.
|
|
|
RwD3D9VertexBufferManagerChangeDefaultSize is used to change the default vertex buffer size used by the vertex buffer manager to generate new vertex buffers. The vertex buffer manager tries to share the same vertex buffer across different atomics and world sectors to reduce the number of vertex buffer switches at runtime. So the greater the default size, the more objects can fit in the same vertex buffer, but you should be aware that big vertex buffers may fail to be created depending on the video card. Also, some video card drivers have problems to render primitives when the base index does not fit into a 16-bit number. As a general rule we recommend to use sizes under 1 MB and in multiples of 128 KB.
|
© 1993-2004 Criterion Software Limited. All rights reserved. Built Thu Feb 12 13:46:57 2004.
Send Feedback