Ignore:
Timestamp:
09/19/08 23:13:47 (16 years ago)
Author:
mattausch
Message:

preetham working but big hack

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SkyPreetham.cpp

    r2958 r2959  
    1313 
    1414static CGprogram sCgSkyProgram = NULL; 
     15static CGprogram sCgMrtFragmentSkyDomeProgram = NULL; 
     16 
     17 
    1518static CGparameter sLightDirParam; 
    1619static CGparameter sThetaSunParam; 
     
    6063        else 
    6164                cerr << "sky program failed to load" << endl; 
     65 
     66        sCgMrtFragmentSkyDomeProgram =  
     67                cgCreateProgramFromFile(context,  
     68                                                                CG_SOURCE, 
     69                                                                "src/shaders/sky_preetham.cg",  
     70                                                                RenderState::sCgFragmentProfile, 
     71                                                                "frag_skydome", 
     72                                                                NULL); 
     73 
     74        if (sCgMrtFragmentSkyDomeProgram != NULL) 
     75        { 
     76                cgGLLoadProgram(sCgMrtFragmentSkyDomeProgram); 
     77 
     78                /*sMaxDepthParam = cgGetNamedParameter(RenderState::sCgMrtFragmentProgram, "maxDepth"); 
     79                Material::sDiffuseParam = cgGetNamedParameter(RenderState::sCgMrtFragmentProgram, "diffuse"); 
     80                Material::sAmbientParam = cgGetNamedParameter(RenderState::sCgMrtFragmentProgram, "ambient"); 
     81 
     82                cgGLSetParameter1f(sMaxDepthParam, MAX_DEPTH_CONST / farDist); 
     83                */ 
     84        } 
     85        else 
     86                cerr << "fragment skyprogram failed to load" << endl; 
    6287} 
    6388 
     
    127152        Vector3 position = camera->GetPosition(); 
    128153 
    129         const float scaleFactor = 100.0f; 
    130  
    131         position.z -= 10 * scaleFactor; 
     154        const float scaleFactor = 80.0f; 
     155 
     156        position.z -= 3 * scaleFactor; 
    132157        Matrix4x4 m = TranslationMatrix(position); 
    133158 
     
    147172        cgGLEnableProfile(RenderState::sCgVertexProfile); 
    148173        cgGLBindProgram(sCgSkyProgram); 
    149          
    150          
     174 
     175         
     176        if (state->GetRenderPassType() == RenderState::DEFERRED) 
     177        { 
     178                cgGLEnableProfile(RenderState::sCgFragmentProfile); 
     179                cgGLBindProgram(sCgMrtFragmentSkyDomeProgram); 
     180        }        
    151181 
    152182        // Render sky dome. 
     
    155185        // Render additively blended sun disc. 
    156186        //RenderSunDisk(sunDir, camera); 
     187 
     188        cgGLDisableProfile(RenderState::sCgFragmentProfile); 
    157189} 
    158190 
Note: See TracChangeset for help on using the changeset viewer.