创建时间:2019.07.06
修改时间:
ONE 2019.07.07
TWO 2019.07.08
1.选定像素格式
//设备上下文句柄
HDC dc = GetDC(hwnd);
PIXELFORMATDESCRIPTOR pfd;
memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR));
pfd.nVersion = 1;
pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);
//颜色缓冲区R(8bit)G(8bit)B(8bit)A(8bit)
pfd.cColorBits = 32;
//深度缓冲器
pfd.cDepthBits = 24;
//蒙板缓冲区
pfd.cStencilBits = 8;
//像素类型
pfd.iPixelType = PFD_TYPE_RGBA;
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
//选取一个像素格式
int pixelFormat = ChoosePixelFormat(dc, &pfd);
//设置像素格式
SetPixelFormat(dc, pixelFormat, &pfd);
2.创建渲染环境
HGLRC rc = wglCreateContext(dc);
3.使渲染环境生效
wglMakeCurrent(dc, rc);
额外的工作
1.实现加载文件的接口
unsigned char * LoadFileContent(const char*path/*文件的路径*/, int &filesize/*文件有多大*/);
{
//初始化
unsigned char* fileContent = nullptr;
filesize = 0;
//打开文件
FILE* pFile = fopen(path, "rb"/*读二进制方式打开文件*/);
//文件打开成功
if (pFile)
{
//文件的指针移动到某个位置
fseek(pFile, 0, SEEK_END/*文件结尾*/);
//返回文件的大小
int nLen = ftell(pFile);
if (nLen > 0)
{
//文件指针回到头部
rewind(pFile);
//比实际大小大1,最后以'\0'标记
fileContent = new unsigned char[nLen + 1];
fread(fileContent, sizeof(unsigned char), nLen, pFile);
//最后一位
fileContent[nLen] = 0;
filesize = nLen;
}
//关闭文件
fclose(pFile);
}
//返回文件指针
return fileContent;
}
fopen报错
解决方法
工程文件名--->属性选项--->C/C++--->预处理器--->在编辑窗口中添加一句命令_CRT_SECURE_NO_WARNINGS
2.场景类
scene.h
void Init();
void SetViewPortSize(float width, float height);
void Draw();
scene.cpp
void Init()
{
}
void SetViewPortSize(float width, float height)
{
}
void Draw()
{
}
网友评论