예제 #1
0
파일: BasicAS.cpp 프로젝트: endy/ENCORE
/**********************
* 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
}
예제 #2
0
파일: BVH.cpp 프로젝트: PeterLValve/ENCORE
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
}
예제 #3
0
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
}