OpenGL简单实现shader 三角形的渲染

本文展示了如何通过CMake配置一个基于OpenGL的项目,引入glad和glfw库来创建一个基本的OpenGL窗口。在CMakeLists.txt中设置库的路径和链接,然后在MMOpenGL.cpp中初始化glfw,设定OpenGL版本,并创建窗口。窗口循环中进行缓冲交换和事件处理。
摘要由CSDN通过智能技术生成

创建OpenGL窗口

配置OpenGL项目,引入glad、glfw

# CMakeList.txt: MMOpenGL 的 CMake 项目,在此处包括源代码并定义
# 项目特定的逻辑。
#
cmake_minimum_required (VERSION 3.8)

include_directories(../lib/GLFW/include/)
include_directories(../lib/glad/include/)

link_directories(../lib/GLFW/lib/)

# 将源代码添加到此项目的可执行文件。
add_executable (
    MMOpenGL
    "MMOpenGL.cpp"
    "MMOpenGL.h"
    ../lib/glad/src/glad.c
    )



target_link_libraries(MMOpenGL glfw3)

# TODO: 如有需要,请添加测试并安装目标。

创建基础窗口

// MMOpenGL.cpp: 定义应用程序的入口点。
//

#include "MMOpenGL.h"


#include <glad/glad.h>
#include <GLFW/glfw3.h>


using namespace std;

int main()
{
	glfwInit();
	glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
	glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
	// Core Profile
	glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
	int windowWidth = 1280;
	int windowHeigh = 720;
	GLFWwindow * window = glfwCreateWindow(windowWidth, windowHeigh,"MMOpenGL",NULL,NULL);
	//OpenGL单线程,多个线程同时调用不被允许
	glfwMakeContextCurrent(window);

	gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
	while (!glfwWindowShouldClose(window))
	{
		glfwSwapBuffers(window);
		glfwPollEvents();
	}

	cout << "Hello CMake." << endl;
	return 0;
}

shader和Program
在这里插入图片描述
若不小心侵权,可以联系我。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值