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

Revision 2960, 1.3 KB checked in by mattausch, 16 years ago (diff)
RevLine 
[2954]1#ifndef _SKYPREETHAM_H__
2#define _SKYPREETHAM_H__
3
[2957]4#include "glInterface.h"
[2960]5#include "common.h"
[2957]6#include <Cg/cg.h>
7#include <Cg/cgGL.h>
8
9
[2955]10namespace CHCDemoEngine{
11class Vector3;
[2957]12class SceneEntity;
13class RenderState;
14class Camera;
[2955]15}
16
17class SkyPreetham
[2954]18{
19public:
[2957]20        /// Constructor taking sky turbitity as parameter and the sky dome geometry
21        SkyPreetham(float turbitity, CHCDemoEngine::SceneEntity *skyDome);
[2954]22        virtual ~SkyPreetham();
23
[2960]24        void RenderSkyDome(const CHCDemoEngine::Vector3 &sunDir, CHCDemoEngine::Camera *camera, CHCDemoEngine::RenderState *state);
[2955]25
[2957]26        static void Init(CGcontext context);
27
[2960]28        void ComputeFactors(const CHCDemoEngine::Vector3 &sunDir,
29                                CHCDemoEngine::Vector3 &zenithColor,
30                                                std::vector<CHCDemoEngine::Vector3> &ABCDE,
31                                                std::pair<float, float> &sunThetha) const;
32
33        void ComputeSunColor(const CHCDemoEngine::Vector3 &sunDir, CHCDemoEngine::Vector3 &ambient, CHCDemoEngine::Vector3 &diffuse) const;
34
35
[2954]36protected:
37
[2958]38        void RenderSunDisk(const CHCDemoEngine::Vector3 &lightDir, CHCDemoEngine::Camera *camera);
[2955]39        void CreateSunQuad();
[2954]40
41
42        /// Members.
[2955]43/*      FEffect*                mEffect;
[2954]44
45        FEffect*                mSunEffect;
46        FTexture2D*             mSunTexture;
47        FVertexBuffer*  mSunQuad;
[2955]48*/
[2957]49        CHCDemoEngine::SceneEntity *mSkyDome;
50
[2954]51        float mTurbidity;
52};
53
54#endif //_SKYPREETHAM_H__
55
Note: See TracBrowser for help on using the repository browser.