Ignore:
Timestamp:
10/19/08 23:42:15 (16 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

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

    r3042 r3045  
    44#include "glInterface.h" 
    55#include "RenderState.h" 
    6 #include "ShaderProgram.h" 
     6 
    77 
    88using namespace std; 
     
    2424        mCullFaceEnabled = true; 
    2525         
    26         mGPUVertexParameters = NULL; 
     26        mVertexProgramParameters.Reset(); 
     27        mFragmentProgramParameters.Reset(); 
     28         
    2729        mVertexProgram = NULL; 
    28          
    29         mGPUFragmentParameters = NULL; 
    3030        mFragmentProgram = NULL; 
    3131} 
     
    4242 
    4343 
    44 Technique::~Technique() 
    45 { 
    46         //DEL_PTR(mGPUFragmentParameters); 
    47         //DEL_PTR(mGPUVertexParameters); 
    48 } 
    49  
    50  
    5144Technique::Technique(const RgbaColor &color): 
    5245mDiffuseColor(color), 
     
    5649{ 
    5750        InitMaterial(); 
     51} 
     52 
     53 
     54Technique::Technique(const Technique &tech) 
     55{ 
     56        mAmbientColor = tech.mAmbientColor; 
     57        mDiffuseColor = tech.mDiffuseColor; 
     58        mSpecularColor = tech.mSpecularColor; 
     59        mEmmisiveColor = tech.mEmmisiveColor; 
     60 
     61        mVertexProgram = tech.mVertexProgram; 
     62        mFragmentProgram = tech.mFragmentProgram; 
     63 
     64        mAlphaTestEnabled = tech.mAlphaTestEnabled; 
     65        mCullFaceEnabled =tech.mCullFaceEnabled; 
     66 
     67        mTexture = tech.mTexture; 
     68 
     69        mVertexProgramParameters = tech.mVertexProgramParameters; 
     70        mFragmentProgramParameters = tech.mFragmentProgramParameters; 
     71} 
     72 
     73 
     74Technique::~Technique() 
     75{ 
    5876} 
    5977 
     
    7492        mFragmentProgram = p;  
    7593 
    76         mGPUFragmentParameters->Reset(); 
    77         mGPUFragmentParameters->SetProgram(p); 
     94        mFragmentProgramParameters.Reset(); 
     95        mFragmentProgramParameters.SetProgram(p); 
    7896} 
    7997         
     
    83101        mVertexProgram = p;  
    84102 
    85         mGPUVertexParameters->Reset(); 
    86         mGPUVertexParameters->SetProgram(p); 
     103        mVertexProgramParameters.Reset(); 
     104        mVertexProgramParameters.SetProgram(p); 
    87105} 
     106 
     107 
     108/***********************************************/ 
     109/*        class Material implementation        */ 
     110/***********************************************/ 
    88111 
    89112 
    90113void Material::Render(RenderState *state) 
    91114{ 
    92         mTechniques[0]->Render(state); 
     115        if (state->GetRenderPassType() == RenderState::DEFERRED) 
     116                mTechniques[1]->Render(state); 
     117        else 
     118                mTechniques[0]->Render(state); 
    93119} 
    94120 
     
    126152 
    127153 
     154void Material::AddTechnique(Technique *tech) 
     155{ 
     156        mTechniques.push_back(tech); 
    128157} 
     158 
     159 
     160} 
Note: See TracChangeset for help on using the changeset viewer.