以sb7code为基础创建一个基本的OpenGL项目

 

  1. 从github上面下载sb7code代码:

    https://github.com/openglsuperbible/sb7code

  2. 打开HOWTOBUILD.TXT(在 GITHUB网页上直接打开格式比较友好).

    根据这个文档中说的,在本地编译第一步中下载的sb7code代码,编译是为了得到我们需要的.lib文件。

  3. 在VS2013中建一个c++的空项目。

  4. 将红框中所示的这些文件和文件夹拷贝到当前项目目录下,或者一个公共目录下:

    (其中.h文件都是在sb7code目录下能找到的,.lib文件是我们第二步编译出来的。)

  5. 将包含文件所在的路径添加到项目的额外包含路径中。

  6. 将lib所在的路径加入到"额外库目录"中。

    (里面应该是lib,而不是../lib, 因为这个图是我从别的项目中截的,不要被误导)

  7. 在链接器选项的输入中添加需要的.lib文件,注意要包含opengl32.lib,编译器会从system目录去找这个lib文件。

    (截图里面不应该带lib/前缀了,因为上一步已经把lib目录加入到额外库目录中了。这个图是从别的项目中截的,不要被误导。)

    (截图不太清楚,这里只需要额外添加opengl32.lib;glfw3_d.lib;sb7_d.lib;这三个lib就可以了。)

  8. 在项目中添加一个.cpp文件。添加如下的代码:

#include
"sb7.h"

 

 

// Derive my_application from sb7::application

class
my_application : public sb7::application

{

public:

    void init()

    {

        static
const
char title[] = "OpenGL SuperBible - Simple Clear";

 

        sb7::application::init();

 

        info.flags.fullscreen = false;

        memcpy(info.title, title, sizeof(title));

    }

 

    // Our rendering function

    void render(double
currentTime)

    {

        // Simply clear the window with red

        static
const
GLfloat red[] = { 1.0f, 0.0f, 0.0f, 1.0f };

        glClearBufferfv(GL_COLOR, 0, red);

    }

};

// Our one and only instance of DECLARE_MAIN

DECLARE_MAIN(my_application);

 

  1. 如果当前机器上的OpenGL版本低,可能需要修改sb7.h中的代码,将majorVerion改成3, 而不是原来的4.

    详情见: http://www.cnblogs.com/time-is-life/p/6394239.html

  2. 编译可能不通过,那是因为有的预编译宏没有定义,确保如下的预编译宏定义了。(这一步的原因是sb7code和GLFW是跨平台的,需要定义预编译宏来指示项目在Windows下编译)

  3. 一切就绪,F5运行一下,出来了!

     

    完整代码见 BasicOpenGLProject, 可以用它作为一个基本项目来创建其他的OpenGL项目。

以sb7code为基础创建一个基本的OpenGL项目的更多相关文章

  1. 通过beego快速创建一个Restful风格API项目及API文档自动化

    通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...

  2. 通过beego快速创建一个Restful风格API项目及API文档自动化(转)

    通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...

  3. 规范化创建一个vs2017 Mvc框架项目

    vs2107 + dapper + MiniUi 标准化分层封装使 3.1 规范化创建一个vs2017 Mvc框架项目 此时创建的项目勾选 添加单元测试. 添加一个类库,主要用于实体类操作,类库名称 ...

  4. 创建一个简单的Django项目

    1.首先,启动pycharm,点击File->New Project,如下图所示. 2.在New Project对话框中,选择Django,在Location中设置项目路径以及项目名称,在App ...

  5. 简单创建一个SpringCloud2021.0.3项目(四)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上三篇教程 3. 日志处理 1. 创建日志公共模块 2. Eureka引入日志模块 4. 到此的功能代码 5. 注册中心换成naco ...

  6. 简单创建一个SpringCloud2021.0.3项目(三)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上俩篇教程 3. Gateway集成sentinel,网关层做熔断降级 1. 超时熔断降级 2. 异常熔断 3. 集成sentine ...

  7. 简单创建一个SpringCloud2021.0.3项目(二)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上一篇教程 3. 创建公共模块Common 4. 网关Gateway 1. 创建Security 2. Security登陆配置 3 ...

  8. 简单创建一个SpringCloud2021.0.3项目(一)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 新建父模块和注册中心 1. 新建父模块 2. 新建注册中心Eureka 3. 新建配置中心Config 4. 新建两个业务服务 1. ...

  9. 使用Maven创建一个Spring MVC Web 项目

    使用Maven创建java web 项目(Spring MVC)用到如下工具: 1.Maven 3.2 2.IntelliJ IDEA 13 3.JDK 1.7 4.Spring 4.1.1 rele ...

随机推荐

  1. WAP 2.0开发XHTML MP语法及常用功能

    XHTML Mobile Profile 的基本结构 <?xml version="1.0" encoding="utf-8"?> <!DOC ...

  2. STM32 F4 GPIO Modes

    STM32 F4 GPIO Modes Goal: creating a visual summary of GPIO configuration modes. The summary at the ...

  3. ARM 编程平台+coresight

    http://www.keil.com/product/ DS-5:http://www.cnblogs.com/njseu/p/6023081.html http://www.arm.com/pro ...

  4. kernel logo到开机动画之间闪现黑屏(android 5.X)

    在BootAnimation開始画图之前,会先做一次clear screen的动作,避免出现前面的图干扰到BootAnimation的显示. 通过check main_log先确认播放开机动画是哪个f ...

  5. 解决Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COER

    今天在用java与mysql数据库时发现Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COER ...

  6. UIImageView 详解

    1.//设置 圆角 userhead.layer.masksToBounds = YES; userhead.layer.cornerRadius = 6.0; userhead.layer.bord ...

  7. iphone手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognizer

    首先新建一个基于Sigle view Application的项目,名为GestureTest;我的项目结构如下: 往viewController.xib文件里拖动一个imageView,并使覆盖整个 ...

  8. C#编程(五十四)----------Lookup类和有序字典

    原文链接: http://blog.csdn.net/shanyongxu/article/details/47071607 Lookup类 Dictionary<Tkey,TValue> ...

  9. jquery插件--在input下输入密码时提示大写锁定键

    //密码大写输入提示 function capitalTip(id){ $('#' + id).after('<div class="capslock" id="c ...

  10. sublime3 安装 Package Control 报错 “There Are No Packages Available For Installation”

    编辑Preferences > Package Settings > Package Control > Settings - User文件 码上 { "channels& ...