1 #include "..\include\raMain.h" 14 bool bDepthDisable, D3D11_FILL_MODE fillMode,
15 D3D11_CULL_MODE cullMode) :
raRender(dx),
16 m_bbMin(-FLT_MAX, -FLT_MAX, -FLT_MAX),
17 m_bbMax(FLT_MAX, FLT_MAX, FLT_MAX)
51 RERROR(
"Beim Erstellen des Meshs");
61 RERROR(
"Beim Erstellen des AlphaBlendState");
69 RERROR(
"Beim Erstellen des DepthStencilState");
79 RERROR(
"Beim Erstellen des RasterizerState");
86 RERROR(
"Beim Erstellen des VertexLayout");
90 ROK(
"raVisual erstellt");
120 raMatrix mWorldView, mWorldViewProjection;
123 mWorldViewProjection = mWorldView * pProj;
130 raMatrix mLightWorldViewProjection = mLightWorldView * mLightProj;
139 if(pmLightViewProj) pmLightViewProj->SetMatrix((
float*)&mLightWorldViewProjection);
143 const raLight* pLight, LPCSTR techniqueName)
209 D3D11_BLEND_DESC desc;
210 memset(&desc, 0,
sizeof(D3D11_BLEND_DESC));
211 desc.RenderTarget[0].BlendEnable =
true;
212 desc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;
216 desc.RenderTarget[0].SrcBlend = D3D11_BLEND_ONE;
217 desc.RenderTarget[0].DestBlend = D3D11_BLEND_ONE;
221 desc.RenderTarget[0].SrcBlend = D3D11_BLEND_SRC_ALPHA;
222 desc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA;
224 desc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;
227 desc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ZERO;
228 desc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ONE;
229 desc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;
241 D3D11_DEPTH_STENCIL_DESC desc;
242 memset(&desc, 0 ,
sizeof(D3D11_DEPTH_STENCIL_DESC));
243 desc.DepthEnable =
true;
244 desc.DepthFunc = D3D11_COMPARISON_LESS;
245 desc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ZERO;
246 desc.StencilEnable =
false;
259 D3D11_RASTERIZER_DESC desc;
263 desc.FrontCounterClockwise =
true;
264 desc.DepthBias =
false;
265 desc.DepthBiasClamp = 0;
266 desc.SlopeScaledDepthBias = 0;
267 desc.DepthClipEnable =
true;
268 desc.ScissorEnable =
false;
269 desc.MultisampleEnable =
false;
270 desc.AntialiasedLineEnable =
false;
305 if(pMaterial) pMaterial->
SetTexture(textureFileName);
raMatrix GetViewMatrix() const
D3D11_CULL_MODE m_CullMode
ID3D11RasterizerState * m_pOldRasterState
virtual void DestroyMaterials()
static raString SkinnedEffectfileName
static raString TexturedTechniqueName
ID3D11DeviceContext * GetImmediateContext(void)
raVisual(raSmartPointer< raDirectX > dx, bool bAlpha=false, bool bAdditive=false, bool bDepthDisable=false, D3D11_FILL_MODE fillMode=D3D11_FILL_SOLID, D3D11_CULL_MODE cullMode=D3D11_CULL_BACK)
virtual void SetupEffectVariables(const raMatrix &pView, const raMatrix &pProj, const raLight *pLight)
raMatrix GetProjectionMatrix() const
virtual bool CreateVertexLayout()
ID3D11BlendState * m_pAlphaBlendState
void RAPI RERROR_DX11(raString x, HRESULT h)
ID3D11Device * GetDevice(void)
virtual bool RenderMesh(LPCSTR techniqueName="")=0
void SetTexture(UINT n, LPCSTR textureFileName)
static raString SkinnedTexturedTechniqueName
void SetTexture_1(UINT n, LPCSTR textureFileName)
void SetMaterial(UINT n, raMaterial *pMaterial)
ID3D11RasterizerState * m_pRasterState
bool CreateRasterizerState()
static raString SkinnedTechniqueName
static raString TechniqueName
virtual void CreateEffectVariables()
ID3D11InputLayout * m_pVertexLayout
virtual const D3D11_INPUT_ELEMENT_DESC * GetVertexLayout()
ID3D11BlendState * m_pOldAlphaBlendState
void SetTexture(LPCSTR TextureFileName)
virtual void CreateMaterials()
bool CreateDepthStencilState()
virtual void SetVisible(bool bVisible)
virtual bool Render(UINT drawOrder, const raMatrix &pView, const raMatrix &pProj, const raLight *pLight, LPCSTR techniqueName="")
void RAPI ROK(raString x)
raMaterial ** m_pMaterials
virtual UINT GetNumElements()
void SetMaterial_1(UINT n, raMaterial *pMaterial)
D3D11_FILL_MODE m_FillMode
ID3D11DepthStencilState * m_pDepthStencilState
virtual bool CreateMesh()=0
interface ID3DX11EffectMatrixVariable ID3DX11EffectMatrixVariable
static raString SkinnedEffectfileName2
ID3DX11Effect * GetEffect(void)
virtual void SetupPerObject(const raMatrix &mWorld, const raMatrix &mWorldView, const raMatrix &mWorldViewProjection)
ID3D11DepthStencilState * m_pOldDepthStencilState
raSmartPointer< raDirectX > m_dx
static raString EffectfileName
bool CreateAlphaBlendState()
void RAPI RERROR(raString x)