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/chcdemo.cpp

    r2958 r2959  
    273273static CGparameter sMaxDepthParamTex; 
    274274static Matrix4x4 oldViewProjMatrix; 
    275 static CGprogram sCgMrtFragmentSkyDomeProgram = NULL; 
    276275 
    277276 
     
    547546                cerr << "fragment tex program failed to load" << endl; 
    548547 
    549         sCgMrtFragmentSkyDomeProgram =  
     548        RenderState::sCgMrtFragmentProgram =  
    550549                cgCreateProgramFromFile(sCgContext,  
    551550                                                                CG_SOURCE, 
    552                                                                 "src/shaders/sky_preetham.cg",  
     551                                                                "src/shaders/mrt.cg",  
    553552                                                                RenderState::sCgFragmentProfile, 
    554                                                                 "frag_skydome", 
     553                                                                "frag", 
    555554                                                                NULL); 
    556555 
    557         if (sCgMrtFragmentSkyDomeProgram != NULL) 
    558         { 
    559                 cgGLLoadProgram(sCgMrtFragmentSkyDomeProgram); 
    560  
    561                 /*sMaxDepthParam = cgGetNamedParameter(RenderState::sCgMrtFragmentProgram, "maxDepth"); 
     556        if (RenderState::sCgMrtFragmentProgram != NULL) 
     557        { 
     558                cgGLLoadProgram(RenderState::sCgMrtFragmentProgram); 
     559 
     560                sMaxDepthParam = cgGetNamedParameter(RenderState::sCgMrtFragmentProgram, "maxDepth"); 
    562561                Material::sDiffuseParam = cgGetNamedParameter(RenderState::sCgMrtFragmentProgram, "diffuse"); 
    563562                Material::sAmbientParam = cgGetNamedParameter(RenderState::sCgMrtFragmentProgram, "ambient"); 
    564563 
    565564                cgGLSetParameter1f(sMaxDepthParam, MAX_DEPTH_CONST / farDist); 
    566                 */ 
    567565        } 
    568566        else 
    569                 cerr << "fragment skyprogram failed to load" << endl; 
     567                cerr << "fragment program failed to load" << endl; 
     568         
    570569 
    571570        PrintGLerror("init"); 
     
    618617void InitGLstate()  
    619618{ 
    620         glClearColor(0.3f, 0.3f, 0.4f, 1.0f); 
     619        glClearColor(0.4f, 0.4f, 0.4f, 1.0f); 
    621620         
    622621        glPixelStorei(GL_UNPACK_ALIGNMENT, 1); 
     
    643642        glDisable(GL_TEXTURE_2D); 
    644643 
    645         GLfloat ambientColor[] = {0.5, 0.5, 0.5, 1.0}; 
     644        GLfloat ambientColor[] = {0.2, 0.2, 0.2, 1.0}; 
    646645        GLfloat diffuseColor[] = {1.0, 0.0, 0.0, 1.0}; 
    647646        GLfloat specularColor[] = {0.0, 0.0, 0.0, 1.0}; 
     
    671670        if (!skyDome) cerr << "loadig plane failed" << endl; 
    672671 
    673         preetham = new SkyPreetham(3.0f, skyDome); 
     672        const float turbitiy = 3.0f; 
     673        preetham = new SkyPreetham(turbitiy, skyDome); 
    674674 
    675675 
    676676        ////////////////////////////// 
    677677 
    678         //GLfloat lmodel_ambient[] = {0.5f, 0.5f, 0.5f, 1.0f}; 
    679         GLfloat lmodel_ambient[] = {1.0f, 1.0f, 1.0f, 1.0f}; 
     678        //GLfloat lmodel_ambient[] = {1.0f, 1.0f, 1.0f, 1.0f}; 
     679        GLfloat lmodel_ambient[] = {0.7f, 0.7f, 0.8f, 1.0f}; 
    680680 
    681681        glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient); 
    682         glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE); 
     682        //glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE); 
     683        glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_FALSE); 
    683684        glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL_EXT, GL_SINGLE_COLOR_EXT); 
    684685} 
     
    795796void SetupLighting() 
    796797{ 
    797         //glEnable(GL_LIGHTING); 
    798798        glEnable(GL_LIGHT0); 
     799        glDisable(GL_LIGHT1); 
    799800         
    800801        Vector3 lightDir = -light->GetDirection(); 
     
    807808        GLfloat diffuse[] = {1.0f, 0.95f, 0.85f, 1.0f}; 
    808809        GLfloat specular[] = {1.0f, 1.0f, 1.0f, 1.0f}; 
     810        //GLfloat specular[] = {0.0f, 0.0f, 0.0f, 1.0f}; 
    809811 
    810812        Vector3 sunAmbient; 
     
    832834        diffuse[1] = sunDiffuse.y; 
    833835        diffuse[2] = sunDiffuse.z; 
    834  
     836         
    835837        //cout<< "sunambient: " << sunAmbient << endl; 
    836838        //cout<< "sundiffuse: " << sunDiffuse << endl; 
     
    11011103        RenderSky(); 
    11021104         
    1103  
    11041105 
    11051106        if ((renderMethod == RENDER_DEFERRED) || 
     
    19601961void RenderSky() 
    19611962{ 
    1962         glEnable(GL_LIGHTING); 
     1963        //glEnable(GL_LIGHTING); 
    19631964        cgGLEnableProfile(RenderState::sCgVertexProfile); 
    19641965 
    1965         if (state.GetRenderPassType() == RenderState::DEFERRED) 
    1966         { 
    1967                 cgGLEnableProfile(RenderState::sCgFragmentProfile); 
    1968                 cgGLBindProgram(sCgMrtFragmentSkyDomeProgram); 
    1969         } 
     1966        if ((renderMethod == RENDER_DEFERRED) || (renderMethod == RENDER_DEPTH_PASS_DEFERRED)) 
     1967                state.SetRenderPassType(RenderState::DEFERRED); 
    19701968 
    19711969        SceneEntityContainer::const_iterator sit, sit_end = skyGeometry.end(); 
     
    19761974        //cube->Render(&state); 
    19771975        //aeroplane->Render(&state); 
    1978         glDisable(GL_CULL_FACE); 
     1976        //glEnable(GL_LIGHTING); 
     1977 
    19791978        preetham->Compute(-light->GetDirection(), camera, &state); 
    1980         glEnable(GL_CULL_FACE); 
    1981  
     1979         
    19821980        cgGLDisableProfile(RenderState::sCgVertexProfile); 
    19831981        cgGLDisableProfile(RenderState::sCgFragmentProfile); 
     
    20342032 
    20352033        glDepthFunc(GL_LESS); 
     2034        state.Reset(); 
    20362035 
    20372036        PrintGLerror("visibleobjects"); 
Note: See TracChangeset for help on using the changeset viewer.