一掀亩、下載相關(guān)資源
GLTools
glew
libGLTools.a
二、搭建項目
-
創(chuàng)建工程: 打開 Xcode->macOS->Cocoa Application
-
添加依賴系統(tǒng)庫OpenGL.framework和GLUT.framework
添加GLTools迁筛、glew、libGLTools.a
- 將include、libGLTools.a資源拷貝項目目錄中,并添加到工程中
-
在 Build Settings -> Header Search Path 中添加include的路徑
刪除AppDelegate.h我注、AppDelegate.m、main.m劳秋、ViewController.h、ViewController.m
-
創(chuàng)建 main.cpp 文件
添加測試代碼
#include "GLShaderManager.h"
#include "GLTools.h"
#include <glut/glut.h>
GLBatch triangleBatch;
GLShaderManager shaderManager;
//窗口大小改變時接受新的寬度和高度,其中0,0代表窗口中視口的左下角坐標玻淑,w嗽冒,h代表像素
void ChangeSize(int w,int h)
{
glViewport(0,0, w, h);
}
//為程序作一次性的設(shè)置
void SetupRC()
{
//設(shè)置背影顏色
glClearColor(0.0f,0.0f,1.0f,1.0f);
//初始化著色管理器
shaderManager.InitializeStockShaders();
//設(shè)置三角形,其中數(shù)組vVert包含所有3個頂點的x,y,笛卡爾坐標對补履。
GLfloat vVerts[] = {
-0.5f,0.0f,0.0f,
0.5f,0.0f,0.0f,
0.0f,0.5f,0.0f,
};
//批次處理
triangleBatch.Begin(GL_TRIANGLES,3);
triangleBatch.CopyVertexData3f(vVerts);
triangleBatch.End();
}
//開始渲染
void RenderScene(void)
{
//清除一個或一組特定的緩沖區(qū)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
//設(shè)置一組浮點數(shù)來表示紅色
GLfloat vRed[] = {1.0f,0.0f,0.0f,1.0f};
//傳遞到存儲著色器添坊,即GLT_SHADER_IDENTITY著色器,這個著色器只是使用指定顏色以默認笛卡爾坐標第在屏幕上渲染幾何圖形
shaderManager.UseStockShader(GLT_SHADER_IDENTITY,vRed);
//提交著色器
triangleBatch.Draw();
//將在后臺緩沖區(qū)進行渲染箫锤,然后在結(jié)束時交換到前臺
glutSwapBuffers();
}
int main(int argc,char* argv[])
{
//設(shè)置當前工作目錄贬蛙,針對MAC OS X
gltSetWorkingDirectory(argv[0]);
//初始化GLUT庫
glutInit(&argc, argv);
/*初始化雙緩沖窗口,其中標志GLUT_DOUBLE谚攒、GLUT_RGBA阳准、GLUT_DEPTH、GLUT_STENCIL分別指
雙緩沖窗口馏臭、RGBA顏色模式野蝇、深度測試、模板緩沖區(qū)*/
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH|GLUT_STENCIL);
//GLUT窗口大小括儒,標題窗口
glutInitWindowSize(800,600);
glutCreateWindow("Triangle");
//注冊回調(diào)函數(shù)
glutReshapeFunc(ChangeSize);
glutDisplayFunc(RenderScene);
//驅(qū)動程序的初始化中沒有出現(xiàn)任何問題绕沈。
GLenum err = glewInit();
if(GLEW_OK != err) {
fprintf(stderr,"glew error:%s\n",glewGetErrorString(err));
return 1;
}
//調(diào)用SetupRC
SetupRC();
glutMainLoop();
return 0;
}
-
出現(xiàn)藍色背景 紅色三角 證明環(huán)境搭建成功