zoukankan      html  css  js  c++  java
  • 以sb7code为基础创建一个基本的OpenGL项目

     

    以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项目。

  • 相关阅读:
    BZOJ3779: 重组病毒
    BZOJ3112 [ZJOI2013]防守战线
    BZOJ4011 [HNOI2015]落忆枫音
    BZOJ2726 [SDOI2012]任务安排
    BZOJ1492 [NOI2007]货币兑换
    BZOJ1597 [USACO2008]土地购买
    BZOJ3611 [HEOI2014]大工程
    BZOJ3991 [SDOI2015]寻宝游戏
    BZOJ3675 [APIO2014]序列分割
    BZOJ1010 [HNOI2008]玩具装箱
  • 原文地址:https://www.cnblogs.com/time-is-life/p/6396549.html
Copyright © 2011-2022 走看看