1. 程式人生 > >VS15 openGL 編程指南 配置庫 triangle例子

VS15 openGL 編程指南 配置庫 triangle例子

技術 創建 location OS pos 設置 如果 log out

最近去圖書館借了一本書《OpenGL編程指南(原書第八版)》,今天倒騰了一天才把第一個例子運行出來。

所以,給大家分享一下,希望能快速解決配置問題。

一、下載需要的庫文件

首先,我們需要去該書的網站中下載相關的配置文件,書中給的是“紅寶書”的官方網址:http://www.opengl-redbook.com/

但現在已經更新至第九版,裏面的庫不是很完整,不適宜用於此書示例。

所以我們要找一個第八版的資源:http://pan.baidu.com/s/1kVpv1MR

下載完之後,我們先把main函數做一些修改,因為,原書的代碼有點不完整

int main(int argc, char** argv)
{
    glutInit(
&argc, argv); glutInitDisplayMode(GLUT_RGBA); glutInitWindowSize(512, 512); glutInitContextVersion(4, 3); glutInitContextProfile(GLUT_CORE_PROFILE); glutCreateWindow(argv[0]); glewExperimental = GL_TRUE; //添加 if (glewInit()) { cerr << "Unable to initialize GLEW ... exiting
" << endl; exit(EXIT_FAILURE); } init(); glutDisplayFunc(display); glutMainLoop(); }

還要在工程目錄下創建兩個文件

triangles.frag

#version 430 core

out vec4 fColor;

void

main()

{

fColor = vec4(0.0, 0.0, 1.0, 1.0);

}

triangles.vert

#version 430 core

layout(location = 0) in vec4 vPosition;

void main() { gl_Position = vPosition; }

二、配置相關的庫

先展示一下剛剛下載的壓縮文件

技術分享圖片

其中include/GL/ 下面是有9個文件的,很全。如果下載的是第九版的話那麽就只有兩個文件,不完整。

技術分享圖片

確定文件齊全之後,我們開始配置相關的庫。

在你的項目-》屬性-》

技術分享圖片

技術分享圖片

在包含目錄中添加進你下載的那個文件夾中的include目錄:比如我的是:D:\新建文件夾\新建文件夾\新建文件夾\新建文件夾\openGL\oglpg-8th-edition\include

在庫目錄中添加進你下載的那個文件夾中的lib目錄:比如我的是:D:\新建文件夾\新建文件夾\新建文件夾\新建文件夾\openGL\oglpg-8th-edition\lib

然後再把下面這個設置一下:

技術分享圖片

這樣在debug或rrelease編譯模式下都能把libcmtd.lib這個庫忽略掉

最後一點,VS2015更改了很多標準庫的鏈接方式和宏定義,而紅寶書第八版中用到的freeglut庫中用到了這些標準庫和宏。所以如果報_sscanf或者__iob_func是無法解析的外部符號之類的錯誤,你可以打開如下設置:

技術分享圖片

點開那個下拉,如果你有低於15的版本,那麽選那個低版本的,如果只有15版本的話,請往下看

來自:https://blog.csdn.net/csdn1027192411/article/details/52064732 的解決方案,如下:

技術分享圖片

然後在工程的cpp文件首,插入如下代碼即可

#if _MSC_VER>=1900
#include "stdio.h"
_ACRTIMP_ALT FILE* __cdecl __acrt_iob_func(unsigned);
#ifdef __cplusplus
extern "C"
#endif
FILE* __cdecl __iob_func(unsigned i) {
    return __acrt_iob_func(i);
}
#endif /* _MSC_VER>=1900 */

到現在應該就可以運行了。

技術分享圖片

如果不想用提供的庫,想要自己下載,也可以

這裏有完整的OpenGL所需的庫:https://www.cnblogs.com/zpcdbky/p/6724772.html

不過,第八版的資料裏的include裏面也很完整~

感謝您的閱讀,生活愉快~

VS15 openGL 編程指南 配置庫 triangle例子