Platform_Win32_3D_Technology.h
Go to the documentation of this file.00001 00010 #ifndef __Platform_Win32_3D_Technology_H__ 00011 #define __Platform_Win32_3D_Technology_H__ 00012 00013 // Includes 00014 00015 // Forward declares 00016 class Platform_3D_VertexBuffer; 00017 class Platform_3D_IndexBuffer; 00018 class Platform_3D_Texture; 00019 class Image; 00020 class Asset; 00021 00022 00023 // Platform_Win32_3D_Technology 00024 class Platform_Win32_3D_Technology 00025 { 00026 00027 public: 00028 virtual ~Platform_Win32_3D_Technology() { }; 00029 00030 virtual bool Setup() = 0; 00031 00032 virtual void BeginScene( 00033 unsigned int color, 00034 float z, 00035 unsigned int stencil 00036 ) = 0; 00037 00038 virtual void EndScene() = 0; 00039 00040 virtual Platform_3D_VertexBuffer* CreateVertexBuffer( 00041 int vertexFormat, 00042 int vertexCount, 00043 bool dynamic 00044 ) = 0; 00045 00046 virtual Platform_3D_IndexBuffer* CreateIndexBuffer( 00047 int indexCount, 00048 bool dynamic 00049 ) = 0; 00050 00051 virtual Platform_3D_Texture* CreateTexture( 00052 void* data, 00053 int size 00054 ) = 0; 00055 00056 virtual Platform_3D_Texture* CreateTexture( 00057 int width, 00058 int height, 00059 void* data 00060 ) = 0; 00061 00062 virtual void Render( 00063 int startVertex, 00064 int vertexCount, 00065 int startIndex, 00066 int indexCount 00067 ) = 0; 00068 00069 virtual void Render( 00070 int startVertex, 00071 int vertexCount 00072 ) = 0; 00073 00074 virtual void RenderStrip( 00075 int startVertex, 00076 int vertexCount, 00077 int startIndex, 00078 int indexCount 00079 ) = 0; 00080 00081 virtual void RenderStrip( 00082 int startVertex, 00083 int vertexCount 00084 ) = 0; 00085 00086 virtual void RenderFan( 00087 int startVertex, 00088 int vertexCount, 00089 int startIndex, 00090 int indexCount 00091 ) = 0; 00092 00093 virtual void RenderFan( 00094 int startVertex, 00095 int vertexCount 00096 ) = 0; 00097 00098 virtual void SetWorldMatrix( 00099 const float worldMatrix[16] 00100 ) = 0; 00101 00102 virtual void SetViewMatrix( 00103 const float viewMatrix[16] 00104 ) = 0; 00105 00106 virtual void SetProjectionMatrix( 00107 const float projectionMatrix[16] 00108 ) = 0; 00109 00110 virtual int GetLightCount() = 0; 00111 00112 virtual void EnableDirectionalLight( 00113 int lightIndex, 00114 float colorR, 00115 float colorG, 00116 float colorB, 00117 float directionX, 00118 float directionY, 00119 float directionZ 00120 ) = 0; 00121 00122 virtual void DisableLight( 00123 int lightIndex 00124 ) = 0; 00125 00126 virtual void SetAmbientLight( 00127 unsigned int color 00128 ) = 0; 00129 00130 virtual void EnableLighting( 00131 bool enabled 00132 ) = 0; 00133 00134 virtual void EnableZRead( 00135 bool enabled 00136 ) = 0; 00137 00138 virtual void EnableZWrite( 00139 bool enabled 00140 ) = 0; 00141 00142 00143 private: 00144 }; 00145 00146 00147 #endif /* __Platform_Win32_3D_Technology_H__ */
Reproduction/republishing of any material on this site without permission is strictly prohibited.
