basicsky.h
来自「这是整套横扫千军3D版游戏的源码」· C头文件 代码 · 共 75 行
H
75 行
// Sky.h: interface for the CSky class.
//
//////////////////////////////////////////////////////////////////////
#ifndef __BASIC_SKY_H__
#define __BASIC_SKY_H__
#include "Rendering/GL/myGL.h"
#include "BaseSky.h"
class CBasicSky : public CBaseSky
{
public:
void CreateCover(int baseX,int baseY,float* buf);
void InitSun();
void CreateTransformVectors();
void CreateRandMatrix(int matrix[32][32],float mod);
void DrawShafts();
void ResetCloudShadow(int texunit);
void SetCloudShadow(int texunit);
void CreateClouds();
void Update();
void DrawSun();
void Draw();
float3 GetCoord(int x,int y);
float3 GetTexCoord(int x,int y);
CBasicSky();
virtual ~CBasicSky();
GLuint skyTex;
GLuint skyDot3Tex;
GLuint cloudDot3Tex;
unsigned int displist;
GLuint sunTex;
GLuint sunFlareTex;
unsigned int sunFlareList;
int randMatrix[16][32][32];
unsigned char alphaTransform[1024];
unsigned char thicknessTransform[1024];
int lastCloudUpdate;
bool cloudDown[10];
unsigned char *cloudThickness;
float covers[4][32];
int oldCoverBaseX;
int oldCoverBaseY;
float3 sundir1;
float3 sundir2;
float3 modSunDir;
float domeheight;
float domeWidth;
float3 GetDirFromTexCoord(float x, float y);
float GetTexCoordFromDir(float3 dir);
float sunTexCoordX,sunTexCoordY;
float3 skyColor;
float3 sunColor;
float3 cloudColor;
protected:
inline unsigned char GetCloudThickness(int x,int y);
};
#endif // __BASIC_SKY_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?