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

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