source: GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SkyPreetham.h @ 3038

Revision 3038, 1.6 KB checked in by mattausch, 16 years ago (diff)

unified shader stuff, but phreetham sky not working anymore for forward rendering

RevLine 
[2954]1#ifndef _SKYPREETHAM_H__
2#define _SKYPREETHAM_H__
3
[2957]4#include "glInterface.h"
[2960]5#include "common.h"
[3021]6#include "ShaderProgram.h"
7
[2957]8#include <Cg/cg.h>
9#include <Cg/cgGL.h>
10
11
[3021]12namespace CHCDemoEngine {
13        class Vector3;
14        class SceneEntity;
15        class RenderState;
16        class Camera;
[3038]17        class ShaderProgram;
[2955]18}
19
20class SkyPreetham
[2954]21{
22public:
[2957]23        /// Constructor taking sky turbitity as parameter and the sky dome geometry
24        SkyPreetham(float turbitity, CHCDemoEngine::SceneEntity *skyDome);
[3021]25       
26        ~SkyPreetham();
[2954]27
[3021]28        void RenderSkyDome(const CHCDemoEngine::Vector3 &sunDir,
29                               CHCDemoEngine::Camera *camera,
30                                           CHCDemoEngine::RenderState *state,
31                                           bool scaleToRange);
[2955]32
[2960]33        void ComputeFactors(const CHCDemoEngine::Vector3 &sunDir,
34                                CHCDemoEngine::Vector3 &zenithColor,
35                                                std::vector<CHCDemoEngine::Vector3> &ABCDE,
36                                                std::pair<float, float> &sunThetha) const;
37
[2982]38        void ComputeSunColor(const CHCDemoEngine::Vector3 &sunDir,
39                                 CHCDemoEngine::Vector3 &ambient,
40                                                 CHCDemoEngine::Vector3 &diffuse,
41                                                 bool scaleToRange) const;
[2960]42
[3038]43        void InitCG();
[2960]44
[3021]45
[2954]46protected:
47
[2958]48        void RenderSunDisk(const CHCDemoEngine::Vector3 &lightDir, CHCDemoEngine::Camera *camera);
[2955]49        void CreateSunQuad();
[2954]50
51
[3038]52        //////////
[2954]53
[3038]54        /*      FEffect*                mEffect;
55
[2954]56        FEffect*                mSunEffect;
57        FTexture2D*             mSunTexture;
58        FVertexBuffer*  mSunQuad;
[3038]59        */
60
[2957]61        CHCDemoEngine::SceneEntity *mSkyDome;
62
[3038]63        /// the turbidity of the sky
[2954]64        float mTurbidity;
[3021]65
[3038]66        CHCDemoEngine::ShaderProgram *mSkyVtxProgram;
67        CHCDemoEngine::ShaderProgram *mSkyFragProgram;
[2954]68};
69
70#endif //_SKYPREETHAM_H__
71
Note: See TracBrowser for help on using the repository browser.