optimized vertex streams part3
This commit is contained in:
@@ -30,7 +30,7 @@ void TiledForwardRenderableComponent::RenderScene(GRAPHICSTHREAD threadID)
|
||||
{
|
||||
wiRenderer::SetAlphaRef(0.25f, threadID);
|
||||
}
|
||||
wiRenderer::DrawWorld(wiRenderer::getCamera(), getTessellationEnabled(), threadID, SHADERTYPE_ALPHATESTONLY, nullptr, true, true);
|
||||
wiRenderer::DrawWorld(wiRenderer::getCamera(), getTessellationEnabled(), threadID, SHADERTYPE_DEPTHONLY, nullptr, true, true);
|
||||
}
|
||||
wiProfiler::GetInstance().EndRange(threadID);
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ enum SHADERTYPE
|
||||
SHADERTYPE_DEFERRED,
|
||||
SHADERTYPE_FORWARD,
|
||||
SHADERTYPE_TILEDFORWARD,
|
||||
SHADERTYPE_ALPHATESTONLY,
|
||||
SHADERTYPE_DEPTHONLY,
|
||||
SHADERTYPE_ENVMAPCAPTURE,
|
||||
SHADERTYPE_SHADOW,
|
||||
SHADERTYPE_SHADOWCUBE,
|
||||
@@ -103,6 +103,7 @@ enum VSTYPES
|
||||
VSTYPE_OBJECT_DEBUG,
|
||||
VSTYPE_OBJECT_COMMON,
|
||||
VSTYPE_OBJECT_SIMPLE,
|
||||
VSTYPE_OBJECT_POSITIONSTREAM,
|
||||
VSTYPE_OBJECT_COMMON_TESSELLATION,
|
||||
VSTYPE_OBJECT_SIMPLE_TESSELLATION,
|
||||
VSTYPE_SHADOW,
|
||||
@@ -135,6 +136,7 @@ enum VSTYPES
|
||||
// pixel shaders
|
||||
enum PSTYPES
|
||||
{
|
||||
PSTYPE_NULL,
|
||||
PSTYPE_OBJECT_DEFERRED,
|
||||
PSTYPE_OBJECT_DEFERRED_NORMALMAP,
|
||||
PSTYPE_OBJECT_DEFERRED_POM,
|
||||
@@ -203,6 +205,7 @@ enum PSTYPES
|
||||
// geometry shaders
|
||||
enum GSTYPES
|
||||
{
|
||||
GSTYPE_NULL,
|
||||
GSTYPE_SHADOWCUBEMAPRENDER,
|
||||
GSTYPE_SHADOWCUBEMAPRENDER_ALPHATEST,
|
||||
GSTYPE_STREAMOUT,
|
||||
@@ -249,6 +252,7 @@ enum CSTYPES
|
||||
// vertex layouts
|
||||
enum VLTYPES
|
||||
{
|
||||
VLTYPE_OBJECT_DEBUG,
|
||||
VLTYPE_OBJECT_POS,
|
||||
VLTYPE_OBJECT_POS_TEX,
|
||||
VLTYPE_OBJECT_ALL,
|
||||
|
||||
@@ -106,12 +106,12 @@ void wiHairParticle::LoadShaders()
|
||||
SAFE_INIT(qps[i]);
|
||||
}
|
||||
|
||||
ps[SHADERTYPE_ALPHATESTONLY] = static_cast<PixelShader*>(wiResourceManager::GetShaderManager()->add(wiRenderer::SHADERPATH + "grassPS_alphatestonly.cso", wiResourceManager::PIXELSHADER));
|
||||
ps[SHADERTYPE_DEPTHONLY] = static_cast<PixelShader*>(wiResourceManager::GetShaderManager()->add(wiRenderer::SHADERPATH + "grassPS_alphatestonly.cso", wiResourceManager::PIXELSHADER));
|
||||
ps[SHADERTYPE_DEFERRED] = static_cast<PixelShader*>(wiResourceManager::GetShaderManager()->add(wiRenderer::SHADERPATH + "grassPS_deferred.cso", wiResourceManager::PIXELSHADER));
|
||||
ps[SHADERTYPE_FORWARD] = static_cast<PixelShader*>(wiResourceManager::GetShaderManager()->add(wiRenderer::SHADERPATH + "grassPS_forward_dirlight.cso", wiResourceManager::PIXELSHADER));
|
||||
ps[SHADERTYPE_TILEDFORWARD] = static_cast<PixelShader*>(wiResourceManager::GetShaderManager()->add(wiRenderer::SHADERPATH + "grassPS_tiledforward.cso", wiResourceManager::PIXELSHADER));
|
||||
|
||||
qps[SHADERTYPE_ALPHATESTONLY] = static_cast<PixelShader*>(wiResourceManager::GetShaderManager()->add(wiRenderer::SHADERPATH + "qGrassPS_alphatestonly.cso", wiResourceManager::PIXELSHADER));
|
||||
qps[SHADERTYPE_DEPTHONLY] = static_cast<PixelShader*>(wiResourceManager::GetShaderManager()->add(wiRenderer::SHADERPATH + "qGrassPS_alphatestonly.cso", wiResourceManager::PIXELSHADER));
|
||||
qps[SHADERTYPE_DEFERRED] = static_cast<PixelShader*>(wiResourceManager::GetShaderManager()->add(wiRenderer::SHADERPATH + "qGrassPS_deferred.cso", wiResourceManager::PIXELSHADER));
|
||||
qps[SHADERTYPE_FORWARD] = static_cast<PixelShader*>(wiResourceManager::GetShaderManager()->add(wiRenderer::SHADERPATH + "qGrassPS_forward_dirlight.cso", wiResourceManager::PIXELSHADER));
|
||||
qps[SHADERTYPE_TILEDFORWARD] = static_cast<PixelShader*>(wiResourceManager::GetShaderManager()->add(wiRenderer::SHADERPATH + "qGrassPS_tiledforward.cso", wiResourceManager::PIXELSHADER));
|
||||
|
||||
@@ -236,6 +236,7 @@ struct Material
|
||||
bool IsWater() const { return water; }
|
||||
bool HasPlanarReflection() const { return planar_reflections || IsWater(); }
|
||||
bool IsCastingShadow() const { return cast_shadow; }
|
||||
bool IsAlphaTestEnabled() const { return alphaRef <= 1.0f - 1.0f / 256.0f; }
|
||||
RENDERTYPE GetRenderType() const
|
||||
{
|
||||
if (IsWater())
|
||||
|
||||
+339
-152
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user