如何设置和使用 OpenGL
how to setup and use openGL?
我使用mingW来编译c ++代码。 我想使用openGL制作图形。我使用记事本++编写代码。那么如何使用openGL的库呢?
在MinGW中,您不必设置OpenGL。目录中已经有OpenGL库:\~\MinGW\include\GL。只需包含 GL/gl.h 和 GL/glu.h,即可为您的 OpenGL 项目编写代码。但是,如果您正在寻找GLUT,GLFW,glew或其他库,那么使用IDE是更好的解决方案,例如code::blocks或Visual Studio,然后做谷歌为您的IDE设置这些库。
一旦你编译了OpenGL项目,并且可能想知道下一步该做什么,NeHe有一系列很棒的OpenGL教程: http://nehe.gamedev.net/
从内存来看,它们都与即时模式(v3.0 之前)有关,但这是一个很好的起点 - 特别是如果您出于许可原因不想使用其他库(如 GLUT
)。这里还有一个很好的教程列表:
http://www.opengl.org/wiki/Getting_Started#Tutorials_and_How_To_Guides
顺便说一下,您可以免费下载Visual C++的Express版。 以防万一您只是因为成本而避免使用Microsoft编译器:http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
这只是专业版的削减版。 基本上它没有OpenMP,MFC或ATL,一些更高级的调试工具,并且不会编译64位应用程序。 但除此之外,这很棒。 我唯一会因为没有 64 位和 OpenMP 而感到不安。 但它是免费的! 功能比较在这里: http://msdn.microsoft.com/en-us/library/hs24szh9.aspx
OpenGL 文本编辑器/无 IDE 友好
在记事本,记事本++,VS代码,Vim等中编写.cpp文件后。
您可以使用以下命令编译.cpp文件并使用 MinGW 在命令行上生成可执行文件。
g++ ./main.cpp -o./main
链接所有Opengl项目的文件和库可以快速将命令行变成这样
g++ /path/main.cpp /path/another.cpp... -I/path/includedlibirary... -L/path/headers... -lglfw3 -lopengl32 -lglu32 -lgdi32 -o/path/output_executable
IMG:在命令行中最终是什么样
子而不是在每次编译之前键入类似的怪物
我会使用一个 Makefile 并将其添加到与您的项目相同的目录中。然后使用以下命令编译生成文件。
mingw32-make
生成文件
- 充当批处理脚本
- 类似于代码块或Visual Studio中的链接器:将文件和库链接到编译器
- 可以告诉编译器将可执行文件输出到哪里.exe
IMG:OpenGL项目目录示例
注意:文件路径基于我的设置和项目的设置
示例生成文件:
# Created Libraries directory in C: to store downloaded libraries
glfw_include = C:LibrariesGLFWinclude
glfw_lib = C:LibrariesGLFWlib
glad_include = C:LibrariesGLADinclude
glad_src = C:LibrariesGLADsrcglad.c
stb_include = C:LibrariesSTBinclude
stb_src = C:LibrariesSTBsrcstb.cpp
glm_include = C:LibrariesGLMinclude
json_include = C:LibrariesJSONinclude
# Project's local header files
local_include = ./Header
# Project's local cpp files
local_src = ./Source/shaders_class.cpp ./Source/textures_class.cpp ./Source/camera_class.cpp ./Source/meshes_class.cpp ./Source/model_class.cpp ./Source/shaders_EBO.cpp ./Source/shaders_VAO.cpp ./Source/shaders_VBO.cpp
################################################################################################################################################################################################################################
CXX = g++
CPP = ./Source/main.cpp
TARGET = ./Bin/main
OBJECTS = $(CPP) $(glad_src) $(stb_src) $(local_src)
INCLUDES = -I$(glfw_include) -I$(glad_include) -I$(stb_include) -I$(glm_include) -I$(json_include) -I$(local_include)
LIBRARIES = -L$(glfw_lib)
C_FLAGS = $(INCLUDES)
LD_FLAGS = $(LIBRARIES) -lglfw3 -lopengl32 -lglu32 -lgdi32
$(TARGET): $(CPP) # Final Output
# Puts everything together in string that auto runs on command line
# '''Ex: g++ <cpp files> -I<included> -L<header_files> -lglfw3 -lopengl32 -lglu32 -lgdi32 -o<output executable>'''
$(CXX) $(OBJECTS) $(C_FLAGS) $(LD_FLAGS) -o$(TARGET)
生成文件的示例输出
g++ ./Source/main.cpp C:LibrariesGLADsrcglad.c C:LibrariesSTBsrcstb.cpp ./Source/shaders_class.cpp ./Source/textures_class.cpp ./Source/camera_class.cpp ./Source/meshes_class.cpp ./Source/model_class.cpp ./Source/shaders_EBO.cpp ./Source/shaders_VAO.cpp ./Source/shaders_VBO.cpp -IC:LibrariesGLFWinclude -IC:LibrariesGLADinclude -IC:LibrariesSTBinclude -IC:LibrariesGLMinclude -IC:LibrariesJSONinclude -I./Header -LC:LibrariesGLFWlib -lglfw3 -lopengl32 -lglu32 -lgdi32 -o./Bin/main
贷方:
推荐将文件链接到 MinGW/创建制作文件
- 声纳系统:SDL 2 教程 1c [设置] Windows 和 MinGW 安装程序https://www.youtube.com/watch?v=ybYMOKEW9IY&t=15s
推荐 OpenGL 简介
- Victor Gordan: OpenGL Tutorialshttps://www.youtube.com/playlist?list=PLPaoO-vpZnumdcb4tZc4x5Q-v7CkrQ6M-
- 如何在glfw中为OpenGL设置核心配置文件上下文?
- 了解现代OpenGL中的代码绘图.OBJ并设置不同的位置
- 使用Visual Studio Code和CMake调试OpenGL(使用GLEW&GLFW),无法设置断点
- 如何在Visual Studio / OpenGL中设置GPU
- 如何在 openGL 中设置着色器
- 无法在openGL和GLUT中为我想要的确切对象设置动画
- 在Visual Studio 2017中设置OpenGL
- 绕摄影机旋转opengl c++/设置旋转中心
- 如何使用OpenGL设置Visual Studio代码
- OSX OpenGL设置代码中的种族条件
- 设置OpenGL FBO以渲染Cubemap深度纹理时,为什么我会得到不完整的附件
- 无法在 OpenGL 着色器中设置统一值
- 在OpenGL中设置MVP矩阵
- OpenGL 在屏幕上渲染之前旋转对象以设置其正确的表面
- 在不重绘整个背景图的情况下为模型设置动画--OPENGL
- 如何设置和使用 OpenGL
- gluProject() 在 OpenGL VC++ 初学者中设置
- 在 Linux 上为 OpenGL 4.2 设置开发环境(查找 gl.h 时遇到麻烦)
- OpenGL:设置索引/顶点
- OpenGL 3.2设置矩阵时出现问题