五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

OpenGL 渲染三角形示例[不要看注釋...]

2023-06-12 15:02 作者:上官清逸_馨逸  | 我要投稿

#define GLEW_STATIC


#include <iostream>


#include <GL/glew.h>

#include <GLFW/glfw3.h>




void EscInput(GLFWwindow *win);


float vertices[]={

-0.5f,-0.5f,0.0f,

0.5f,-0.5f,0.0f,

0.0f, 0.5f,0.0f

};


const char *vertexShaderSource =

"#version 330 core\n"

"layout (location = 0) in vec3 aPos;\n"

"void main()\n"

"{\n"

" gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n"

"}\n";


const char *fragmentShaderSource=

"#version 330 core\n"

"out vec4 FragColor;\n"

"void main()\n"

"{\n"

" FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);\n"

"}\n";




int main(){


glfwInit(); //初始化

glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,3);//提示1:用主版本

glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);//提示2:用子版本

glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);//提示3:使用啥

/*glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT,GL_TRUE);*/ //提示4:使用mac兼容


//new一個(gè) GLFWwindow 對(duì)象 并設(shè)置w,h,"title_text",null,null

GLFWwindow *win = glfwCreateWindow(800,600,"Test window",NULL,NULL);


if(win == NULL){

std::cout<<"Open Window Failed\n";

glfwTerminate();

return -1;//失敗則結(jié)束

}

glfwMakeContextCurrent(win);


//=============================

glewExperimental = true;//bool


if(glewInit()!= GLEW_OK){

std::cout<<"glew init failed\n";

glfwTerminate();

return -1;

}


glViewport(0,0,800,600);//設(shè)置窗口維度(屏幕x,屏幕y,窗口x,窗口y)貌似沒(méi)鳥(niǎo)用




unsigned int VAO;

glGenVertexArrays(1,&VAO);

glBindVertexArray(VAO);


unsigned int VBO;

glGenBuffers(1,&VBO);

glBindBuffer(GL_ARRAY_BUFFER,VBO);

glBufferData(GL_ARRAY_BUFFER,sizeof(vertices),vertices,GL_STATIC_DRAW);


unsigned int vertexShader;

vertexShader = glCreateShader(GL_VERTEX_SHADER);

glShaderSource(vertexShader,1,&vertexShaderSource,NULL);

glCompileShader(vertexShader);


unsigned int fragmentShader;

fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);

glShaderSource(fragmentShader,1,&fragmentShaderSource,NULL);

glCompileShader(fragmentShader);


unsigned int shaderProgram;

shaderProgram = glCreateProgram();

glAttachShader(shaderProgram,vertexShader);

glAttachShader(shaderProgram,fragmentShader);

glLinkProgram(shaderProgram);


glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,3*sizeof(float),(void*)0);

glEnableVertexAttribArray(0);








while(!glfwWindowShouldClose(win)){ //循環(huán)渲染 (每幀[30/60/120])

glClearColor(0.1137254901960784,0.85,1,1.0); //設(shè)置顏色

glClear(GL_COLOR_BUFFER_BIT);




//自定義函數(shù)

EscInput(win);




//繪制三角形

glBindVertexArray(VAO);

glUseProgram(shaderProgram);

glDrawArrays(GL_TRIANGLES,0,3);





glfwSwapBuffers(win); //顏色繪制與輸出2D屏幕

glfwPollEvents();

}


glfwTerminate(); //釋放/刪除之前的資源

return 0;

}


//當(dāng)按下ESC時(shí),退出

void EscInput(GLFWwindow *win){

if(glfwGetKey(win,GLFW_KEY_ESCAPE)==GLFW_PRESS){

std::cout<<"eixt!\n";

glfwSetWindowShouldClose(win,1);

}

}


OpenGL 渲染三角形示例[不要看注釋...]的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永顺县| 东乡| 肇东市| 利津县| 岳西县| 道孚县| 安远县| 太白县| 乐至县| 八宿县| 麻江县| 南通市| 嘉义县| 桑植县| 隆德县| 宁国市| 保德县| 类乌齐县| 开阳县| 平陆县| 喀喇沁旗| 光泽县| 高密市| 邵武市| 手游| 湖南省| 平谷区| 景德镇市| 株洲市| 商南县| 北辰区| 全椒县| 江阴市| 平和县| 乌兰浩特市| 如皋市| 杭锦后旗| 名山县| 三原县| 雷州市| 时尚|