1 #include "..\include\raMain.h" 15 "raEffects\\TesselationEffect.fx",
"CreateGeometry");
55 for(
int i = 0; i < 4; i++)
79 GetVariableByName(
"g_split_ratio" )->AsScalar();
81 const UINT MaxVertices = 300000;
83 bd.Usage = D3D11_USAGE_DEFAULT;
85 bd.BindFlags = D3D11_BIND_VERTEX_BUFFER | D3D11_BIND_STREAM_OUTPUT;
86 bd.CPUAccessFlags = 0;
104 m_bOriginalBufferVerwenden =
true;
106 for(
int l = 16; l > 0; l--)
123 pTechnique->GetDesc( &techDesc );
125 for(UINT p = 0; p < techDesc.
Passes; ++p )
132 void raGSEntity::CreateGeometry()
134 ID3D11Buffer *pBuffers[1];
136 if(m_bOriginalBufferVerwenden)
141 else pBuffers[0] = m_pDrawFrom;
152 pBuffers[0] = m_pStreamTo;
156 m_pCreateGeometryTechnique->GetDesc(&techDesc);
158 ID3D11DepthStencilState* pOldDepthStencilState = NULL;
163 if(m_SplitRatioVariable) m_SplitRatioVariable->SetFloat(m_SplitRatio);
165 for(UINT p = 0; p < techDesc.
Passes; ++p )
169 if(m_bOriginalBufferVerwenden)
172 m_bOriginalBufferVerwenden =
false;
185 ID3D11Buffer* pTemp = m_pDrawFrom;
186 m_pDrawFrom = m_pStreamTo;
virtual void SetupIndices()
virtual void SetupVertices()
ID3D11DeviceContext * GetImmediateContext(void)
VERTEXPOSITIONTEXTURED * m_pVertices
interface ID3DX11EffectTechnique ID3DX11EffectTechnique
ID3D11Device * GetDevice(void)
SDKMESH_SUBSET * m_pSubsets
virtual bool RenderMesh(LPCSTR techniqueName="")
virtual UINT GetStrideSize()
raMaterial ** m_pMaterials
ID3D11DepthStencilState * m_pDepthStencilState
raGSEntity(raSmartPointer< raDirectX > dx, raSmartPointer< raMaterial > pMaterial=raSmartPointer< raMaterial >(NULL))
ID3DX11Effect * GetEffect(void)
raSmartPointer< raDirectX > m_dx
ID3DX11EffectTechnique * GetEffectTechnique(LPCSTR techniqueName="")