網(wǎng)站描述代碼怎么寫市場調(diào)研的步驟
Visual Studio的下載
Visual Studio 2022 C++ 編程環(huán)境
|
GLFW庫安裝
GLFW官網(wǎng)地址
GLFW官網(wǎng)地址:https://www.glfw.org下載相應(yīng)版本,如下圖:
![]() |
CMake軟件進(jìn)行編譯安裝
下載CMake
下載的如果是源碼包,需要下載CMake軟件進(jìn)行編譯安裝。
CMake官網(wǎng)地址:CMake - Upgrade Your Software Build System
進(jìn)行安裝,界面如下:
可以修改安裝路徑到D盤
編譯glfw3.4
在下載的GLFW的文件夾glfw-3.4下面創(chuàng)建文件夾build,build文件夾下面創(chuàng)建install文件夾,用來存放編譯后生成的文件。
運行CMake,點擊Borwsse Source按鈕,選擇要編譯的源代碼文件夾,即glfw-3.4下面的build文件夾,點擊Borwse Build按鈕,選擇編譯文件存放的位置,如下圖:
點擊Configure按鈕,選擇編譯器等相關(guān)信息,這個要選x64
點擊Finish按鈕進(jìn)行配置,如下所示:
修改安裝路徑,把路徑改成剛才創(chuàng)建的install文件夾里
用Visual Studio 2022 打開工程文件,GLFW.sln
點擊ALL BUILD右鍵-->生成
編譯成功
選擇Install,鼠標(biāo)右鍵生成,將在install文件夾下面生成GLFW的頭文件和庫文件,如下:
GLAD庫安裝
打開glad官網(wǎng)地址:https://glad.dav1d.de
選擇,C/C++語言,OpenGL庫,版本選擇最新版本4.6(這個一定要記住,后面編程會用到),
選擇核心模式。選擇后,點擊GENERATE按鈕。會在線生成GLAD的相關(guān)文件,如下所示:
選擇.ZIP壓縮包下載
解壓縮后如下:
整理文件(選作)
創(chuàng)建dependence文件
最后整理完是這樣的
在Visual Studio配置
創(chuàng)建一個c++的空項目
右鍵-->屬性
把包含目錄和庫目錄配置了
包含目錄配置include
庫目錄配置lib
配置的文件都是CMake編譯出來的,在install里面
配置鏈接器里的輸入
測試代碼
一:
#include<glad/glad.h>
#include<GLFW/glfw3.h>#include<iostream>// settings
const unsigned int SCR_WIDTH = 800;
const unsigned int SCR_HEIGHT = 600;const unsigned int VIEW_WIDTH = 800;
const unsigned int VIEW_HEIGHT = 600;void framebuffer_size_callback(GLFWwindow* window, int width, int height);int main()
{int glfwSate = glfwInit();if (glfwSate == GLFW_FALSE){std::cout << "GLFW initialize failed!" << std::endl;exit(EXIT_FAILURE);}glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6);glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "Hello OpenGL", NULL, NULL);if (window == NULL){std::cout << "Failed to create GLFW window" << std::endl;glfwTerminate();return -1;}glfwMakeContextCurrent(window);// glad: load all OpenGL function pointersif (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)){std::cout << "Failed to initialize GLAD" << std::endl;return -1;}glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);//glfwSetKeyCallbackglClearColor(0.2f, 0.3f, 0.3f, 1.0f);while (!glfwWindowShouldClose(window)){glClear(GL_COLOR_BUFFER_BIT);glfwSwapBuffers(window);glfwPollEvents();}glfwTerminate();return 0;
}void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{std::cout << "Call frame buffer callback function!" << std::endl;glViewport(0, 0, width, height);
}
二:
#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <iostream>// 視口調(diào)整回調(diào)函數(shù)
void framebuffer_size_callback(GLFWwindow* window, int width, int height) {glViewport(0, 0, width, height);
}// 鍵盤輸入回調(diào)函數(shù)
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods) {if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) {glfwSetWindowShouldClose(window, true);}
}int main() {// 初始化GLFWglfwInit();glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6);glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);// 創(chuàng)建窗口GLFWwindow* window = glfwCreateWindow(800, 600, "OpenGL Window", NULL, NULL);if (window == NULL) {std::cout << "Failed to create GLFW window" << std::endl;glfwTerminate();return -1;}glfwMakeContextCurrent(window);// 初始化GLADif (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) {std::cout << "Failed to initialize GLAD" << std::endl;return -1;}// 設(shè)置視口和回調(diào)glViewport(0, 0, 800, 600);glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);glfwSetKeyCallback(window, key_callback);// 渲染循環(huán)while (!glfwWindowShouldClose(window)) {// 清屏glClearColor(0.2f, 0.3f, 0.3f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);// 交換緩沖并處理事件glfwSwapBuffers(window);glfwPollEvents();}// 清理資源glfwTerminate();return 0;
}