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

Revision 3279, 1.5 KB checked in by mattausch, 15 years ago (diff)

problems with reimporting of my exported scenes

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