【转载】关于在vs2013中配置opengl红宝书第八版环境

 本文为转载 原文地址 http://blog.csdn.net/qq821869798/article/details/45247241

本人刚开始学习opengl,买了一本opengl红宝书第八版,

第一个例子研究了一段时间终于可以运行了,不知道有没有童鞋跟我遇到一样的问题。

下面说说我怎么配置的:

首先去 http://www.opengl-redbook.com/ 下载红宝书的源代码,解压得到这个

然后打开vs2013新建一个空的win32控制台项目,

然后点项目右键属性,点击vc++目录

包含目录--编辑,添加红宝书源码目录中的include文件夹

库目录--编辑,添加红宝书源码目录中的lib文件夹

在工程中添加和源文件,粘贴红宝书第一个例子的代码

///////////////////////////////////////////////////////////////////////
//
// triangles.cpp
//
///////////////////////////////////////////////////////////////////////
#include <iostream>
using namespace std;
#include "vgl.h"
#include "LoadShaders.h"
enum VAO_IDs { Triangles, NumVAOs };
enum Buffer_IDs { ArrayBuffer, NumBuffers };
enum Attrib_IDs { vPosition = 0 };
GLuint VAOs[NumVAOs];
GLuint Buffers[NumBuffers];
const GLuint NumVertices = 6;
//---------------------------------------------------------------------
//
// init
//
void init(void)
{
    glGenVertexArrays(NumVAOs, VAOs);
    glBindVertexArray(VAOs[Triangles]);
    GLfloat vertices[NumVertices][2] = {
        { -0.90, -0.90 }, // Triangle 1
        { 0.85, -0.90 },
        { -0.90, 0.85 },
        { 0.90, -0.85 }, // Triangle 2
        { 0.90, 0.90 },
        { -0.85, 0.90 }
    };
    glGenBuffers(NumBuffers, Buffers);
    glBindBuffer(GL_ARRAY_BUFFER, Buffers[ArrayBuffer]);
    glBufferData(GL_ARRAY_BUFFER, sizeof(vertices),
        vertices, GL_STATIC_DRAW);
    ShaderInfo shaders[] = {
        { GL_VERTEX_SHADER, "triangles.vert" },
        { GL_FRAGMENT_SHADER, "triangles.frag" },
        { GL_NONE, NULL }
    };
    GLuint program = LoadShaders(shaders);
    glUseProgram(program);
    glVertexAttribPointer(vPosition, 2, GL_FLOAT,
        GL_FALSE, 0, BUFFER_OFFSET(0));
    glEnableVertexAttribArray(vPosition);
}
//---------------------------------------------------------------------
//
// display
//
void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBindVertexArray(VAOs[Triangles]);
    glDrawArrays(GL_TRIANGLES, 0, NumVertices);
    glFlush();
}

//---------------------------------------------------------------------
//
// 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]);
    if (glewInit()) {
        cerr << "Unable to initialize GLEW ... exiting" << endl;
        exit(EXIT_FAILURE);
    }
    init();
    glutDisplayFunc(display);
    glutMainLoop();
}

编译一下发现不通过,会报无法解析外部命令的错误,

这是因为找不到LoadShaders.cpp

在红宝书源代码目录中有个lib文件夹,里面有LoadShaders.cpp

在工程的源文件右键添加现有项,把它添加进来

现在再编译一次,发现还是报错,说有个libcmtd.lib库跟其他库有冲突,我们可以去忽略它

点击项目右键--属性--链接器--输入,在忽略特定默认库中添加它

现在在编译一次发现可以通过了出来

但是它是白色的三角形不是蓝色的,需要在工程目录中新建两个文本

更名为triangles.vert和triangles.frag

代码如下:

triangles.vert

#version 430 core
layout(location = 0) in vec4 vPosition;
void
main()
{
    gl_Position = vPosition;
}

triangles.frag

#version 430 core
out vec4 fColor;
void
main()
{
    fColor = vec4(0.0, 0.0, 1.0, 1.0);
}

然后再编译运行,出现蓝色三角形

时间: 2025-01-01 05:26:45

【转载】关于在vs2013中配置opengl红宝书第八版环境的相关文章

OPENGL 红宝书实验笔记

第一个程序triangles的配置过程,原文链接. OpenGL的东西快忘光了,把角落的第八版红宝书拿出来复习一下 从书中的地址下了个示例代码结果新系统(Win10+VS2015)各种跑不起来,懊恼之后在网上疯狂搜索资料终于跑起来了,记录一下 一.环境搭建指南 书中的地址 http://www.opengl-redbook.com/ 去这里打包下载OpenGL红宝书的示例代码,解压后是这样 虽然没有第一章的代码但第一章的内容好歹算一个完整的例子,网上各种环境搭建教程也都以第一章的代码为例,我们就

VS2012通过makefile编译OpenGL红宝书的示例代码

> 通过创建新VC项目,然后设置一堆属性,对于懒人来说还是太复杂了.既然它自带了makefile,可以尝试下使用nmake. 需要注意的是VS2012的安装目录里面已经没有GL的头文件和库文件.这个改动应该在VS2010或者更早就已经采用了. 现在有了VS SDK.VS2010自动的SDK目录是C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A,更高的版本可能使用v8.0.v8.0A,反正都在这个目录下面.这个目录下面有include.lib文

[OpenGL红宝书]第一章 OpenGL概述

第一章 OpenGL概述 标签(空格分隔): OpenGL 第一章 OpenGL概述 1 什么是OpenGL 2 初识OpenGL程序 3 OpenGL语法 4 OpenGL渲染管线 41 准备向OpenGL传输数据 42 将传输数据到OpenGL 43 顶点着色 44 细分着色 45 几何着色 46 图元装配 47 剪切 48 光栅化 49 片元着色 410 逐片元的操作 5 第一个程序深入分析 51 进入main函数 52 OpenGL的初始化过程 初始化顶点数组对象 分配顶点缓存对象 将数

在vs2013中配置openGL(绝对可靠 !)

首先要下载glut.h glut32.dll glut32.lib.(这个在glut-3.7.6-bin的包里面,可以直接下载 ) 然后: glut.h:放到 D:\vs2013\VC\include\GL 里面(没有GL文件夹 就新建一个) glut32.dll:放到D:\vs2013\VC\bin里面(建议在c:windows\system32里面也 放一个) glut32.lib:放到D:\vs2013\VC\lib里面 然后直接 建议一个win32控制台程序,选择 project->pr

在VS2013中配置Opengl

首先我们需要关于Opengl的一系列文件. 传送门:http://pan.baidu.com/s/1i3tgmkH 下载解压之后会出现3种后缀为.dll..lib..h的文件. 我们需要把这些不同类型的文件放在不同的地方. 所有把.H结尾的文件全部放在VS安装目录下的\VC\include\GL中,如果没有GL文件夹,则自己新建一个. 把.LIB结尾的文件全部放在VS安装目录下的\VC\lib中. 把.dll结尾的文件全部放在系统目录下System32文件夹中(最好在SysWOW64文件夹中也放

OpenGL红宝书学习笔记(1)

OpenGL对场景中的图像进行渲染时所执行的主要操作: 1.根据几何图元创建形状,从而建立物体的数学描述,(OpenGL把点,直线,多边形和位图作为基本的图元) 2.在三维空间中排列物体,并选择观察复合场景中的视角 3. 计算所有物体的颜色.颜色可以由应用程序明确指定,可以根据特定的光照条件确定,也可以通过把纹理贴到物体的表面而获得,或者是上述三种操作的混合产物, 这些操作可能使用着色器来执行,这样可以显式的控制所有的颜色计算,或者可能使用OpenGL的预编程算法在其内部执行(我盟常用术语固定功

OpenGL红宝书附带源码编译问题集锦

以下所有源码均在win7,VS2008环境下测试.下不再赘述. 1.所有的.c扩展名请改为.cpp扩展名,以避免不可预测的错误. 想知道会出现什么不可预测的错误..请见我上一篇Blog... 2.如果有的文件无法识别标示符,在头文件部分加上#include <glext.h>这是因为部分特性从gl库中移除到其他扩展库了.比如glext,glew,都是扩展库. 3.blendeqn在头文件部分加上#include <glext.h> PFNGLBLENDEQUATIONPROC gl

在Win7(64位)使用VS2015运行《OpenGL编程指南》第八版第一章程序的方法

前言:笔者第一次用vs2015来实现<OpenGL编程指南>第八版第一个程序时确实花费了不少时间,按照网上教程,尝试了各种方法,最终花费了两个上午加一个下午的时间, 成功运行了程序,花了这么多时间,确实让人懊恼,现在把运行程序的步骤记录下来,以便查阅. 1.第一步,下载oglpg-8th-edith. 如果去书本上的官网下载,下载的是第九版的,而不是第八版的源码. 去其他网站下载,下载的这个包里面没有第一章的源码,可以网上黏贴其他人的代码,建议下第八版源码,下载网址:链接:http://pan

VS2013 中配置 Qt5.3 开发环境(32位)

需要的东西: 1.VS2013 2.Qt5.3 3.Visual Studio Add-in 1.2.3 for Qt5 其中2和3项可在Qt官网下载:http://qt-project.org/downloads (第3项在download页面最下方的other downloads中找到) 要注意的是,这里使用的是 Qt 5.3.0 for Windows 32-bit (VS 2013, 626 MB) ,使用32位是为了兼容更多的机子,以下的配置也是针对32位的,相比64位可能少一点步骤