1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #pragma once
- #include "Array.h"
- #include "Mat4.h"
- #include "Ebene3D.h"
- struct ID3D11Device;
- struct ID3D11DeviceContext;
- enum D3D_PRIMITIVE_TOPOLOGY;
- struct ID3D11ShaderResourceView;
- struct ID3D11RasterizerState;
- namespace Framework
- {
- class Shader;
- class DXVertexBuffer;
- class DXIndexBuffer;
- class Textur;
- class Model3D;
-
- class Render3D
- {
- private:
- Mat4< float > matrixBuffer[ MAX_KNOCHEN_ANZ ];
- Mat4< float > view;
- Mat4< float > proj;
- Ebene3D< float > frustrum[ 6 ];
- Vec3< float > kamPos;
- ID3D11Device *device;
- ID3D11DeviceContext *context;
- ID3D11RasterizerState *texturRS;
- ID3D11RasterizerState *meshRS;
- Textur *defaultTextur;
- RCArray< RCArray< Shader > > *shader;
- Array< int > *shaderId;
- int lastObjektId;
- int lastTexturId;
- int ref;
- public:
-
- __declspec( dllexport ) Render3D();
-
- __declspec( dllexport ) ~Render3D();
-
-
- __declspec( dllexport ) void setDevice( ID3D11Device *device );
-
-
- __declspec( dllexport ) void setContext( ID3D11DeviceContext *context );
-
-
-
- __declspec( dllexport ) void benutzeShader( int listIndex, Shader *sh );
-
-
-
- __declspec( dllexport ) void releaseShader( int listIndex, int anz = 1 );
-
-
-
-
- __declspec( dllexport ) void setKameraMatrix( Mat4< float > &view, Mat4< float > &proj, Vec3< float > &kamPos );
-
-
- __declspec( dllexport ) void beginnModel( Model3D *zMdl );
-
-
-
-
- __declspec( dllexport ) void draw( DXIndexBuffer *zIndexBuffer, Textur *zTextur, D3D_PRIMITIVE_TOPOLOGY struktur = (D3D_PRIMITIVE_TOPOLOGY)4 );
-
-
- __declspec( dllexport ) Shader *getShader( int listIndex ) const;
-
-
- __declspec( dllexport ) Shader *zShader( int listIndex ) const;
-
- __declspec( dllexport ) ID3D11Device *zDevice() const;
-
- __declspec( dllexport ) ID3D11DeviceContext *zContext() const;
-
-
-
-
- __declspec( dllexport ) bool isInFrustrum( const Vec3< float > &pos, float radius, float *dist = 0 ) const;
-
-
- __declspec( dllexport ) Render3D *getThis();
-
-
- __declspec( dllexport ) Render3D *release();
- };
- }
|