/********************** * void BasicAS::setGPUParameters( CShader& l_Shader ) * * sets shader parameters for the BasicAS ***********************/ void BasicAS::setGPUParameters( CShader& l_Shader, GPUAccelerationStructureData& l_ASD ) { #ifndef STUB CGparameter& cell_info = l_Shader.GetNamedParameter("cellData0", true); cgGLSetTextureParameter(cell_info, l_ASD.m_CellTexture[0]); CGparameter& v0 = l_Shader.GetNamedParameter("v0t", true); cgGLSetTextureParameter(v0, l_ASD.m_VertexTexture[0]); CGparameter& v1 = l_Shader.GetNamedParameter("v1t", true); cgGLSetTextureParameter(v1, l_ASD.m_VertexTexture[1]); CGparameter& v2 = l_Shader.GetNamedParameter("v2t", true); cgGLSetTextureParameter(v2, l_ASD.m_VertexTexture[2]); #endif }
void Bvh::setGPUParameters( CShader& l_Shader, GPUAccelerationStructureData& l_ASD ) { #ifndef STUB CGparameter& v0 = l_Shader.GetNamedParameter("v0t", true); cgGLSetTextureParameter(v0, l_ASD.m_VertexTexture[0]); CGparameter& v1 = l_Shader.GetNamedParameter("v1t", true); cgGLSetTextureParameter(v1, l_ASD.m_VertexTexture[1]); CGparameter& v2 = l_Shader.GetNamedParameter("v2t", true); cgGLSetTextureParameter(v2, l_ASD.m_VertexTexture[2]); //l_ASD.SaveTextureData( "v0t.txt", l_ASD.m_VertexTexture[0] ); //l_ASD.SaveTextureData( "v1t.txt", l_ASD.m_VertexTexture[1] ); //l_ASD.SaveTextureData( "v2t.txt", l_ASD.m_VertexTexture[2] ); CGparameter& maxindex = l_Shader.GetNamedParameter("maxIndex"); cgGLSetParameter1f( maxindex, (float)m_NodeUsed ); CGparameter& maxloop = l_Shader.GetNamedParameter("looplimit"); cgGLSetParameter1f( maxloop, 2500.0f ); #endif }
void Kdtree::setGPUParameters( CShader& shader, GPUAccelerationStructureData& accelStructData ) { #ifndef STUB CGparameter& cell_info = shader.GetNamedParameter("cellData0", true); cgGLSetTextureParameter(cell_info, accelStructData.m_CellTexture[0]); //accelStructData.SaveTextureData(); CGparameter& v0 = shader.GetNamedParameter("v0t", true); cgGLSetTextureParameter(v0, accelStructData.m_VertexTexture[0]); CGparameter& v1 = shader.GetNamedParameter("v1t", true); cgGLSetTextureParameter(v1, accelStructData.m_VertexTexture[1]); CGparameter& v2 = shader.GetNamedParameter("v2t", true); cgGLSetTextureParameter(v2, accelStructData.m_VertexTexture[2]); /* CGparameter& maxDepth = shader.GetNamedParameter("maxDepth"); cgGLSetParameter1f( maxDepth, (float) m_MaxDepth ); */ Point3 minPt = m_Bounds.getPos(); Point3 maxPt = minPt + m_Bounds.getSize(); CGparameter& minPoint = shader.GetNamedParameter("gmin"); cgGLSetParameter3f( minPoint, minPt.X(), minPt.Y(), minPt.Z() ); CGparameter& maxPoint = shader.GetNamedParameter("gmax"); cgGLSetParameter3f( maxPoint, maxPt.X(), maxPt.Y(), maxPt.Z() ); CGparameter& maxloop = shader.GetNamedParameter("maxloop"); cgGLSetParameter1f( maxloop, 1000 ); #endif }