美文网首页程序员
关于OpenGL的一些记录

关于OpenGL的一些记录

作者: xiyizhou16 | 来源:发表于2018-10-20 14:35 被阅读7次
  • OpenGL是一个3D图形标准,与硬件无关,独立于操作系统。

  • OpenGL的核心库和为 gl,用于常规的、核心的图形处理;实用程序库为 glu,通过调用核心库的函数,提供相对便利的用法。这两个库在电脑中应该都可以直接找到 (即使是下载MinGW,你也能在其中找到和两个库)。不过这两个库是不包含窗口创建的,如果你对诸如MFC之类的图形用户界面框架很了解的话倒是可以自己去创建窗口。

  • 不过OpenGL官方提供了另外一个工具库 glut,可以帮助建立窗口。另外需要注意的是,如果你仅使用 glut, gl, glu 这三个库来写OpenGL的程序的话,需要首先 include glut 这个库,不然核心库的函数都会报错(至少使用Visual Studio是这样)。

  • 为什么我们会需要诸如 GLEWGLAD 这样的库:OpenGL大多数函数的位置都无法在编译时确定下来,需要在运行时查询,这会使得你的代码变得十分冗余。

  • 为什么不使用诸如 "glBegin()"之类的函数,感觉很方便:使用OpenGL旧版本的函数绘制一个这样的三角形,代码量相对较少。


    Triangle
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    
    glBegin(GL_TRIANGLES);
    glColor3f(1.0f, 1.0f, 0.0f);
    glVertex3f(0, 1.0, 0);
    glColor3f(1.0f, 0.0f, 0.0f);
    glVertex3f(-1, 0.5, 0);
    glColor3f(0.0f, 0.0f, 0.0f);
    glVertex3f(1, -1, 0);
    glEnd();
    glutSwapBuffers();
  • 抛开 glut 库的初始化部分等,核心部分就只需要设置颜色,设置坐标就行了。但是这些毕竟已经是固定管线时代的函数了。学习OpenGL起码也应该去学习3.0之后的版本,和之前的相比,OpenGL相差很大,不仅仅是函数细节的不同。

  • 至于学习OpenGL的话,之前盲目地购买了《OpenGL编程指南》,然后才发现这本书大概会让初学者丧失全部兴趣,这本书更加近似于一个手册而不是学习书籍。推荐一个网站,个人觉得这个网站对于OpenGL的讲解比较详细,环境配置也很细致(即使你之前没用过c++估计也能一步步配置好),而且逐步渐进对于初学者很友好。
    https://learnopengl.com/

  • 当然也有人对这个网站进行了中文翻译,不过这个翻译并不全。(后面的文档缺失)但是是一个比较新的翻译,因为原英文作者对他的文档进行过一些改动。(譬如使用 GLAD 而非 GLEW )
    https://learnopengl-cn.github.io/

  • 还有另外一个中文翻译的网站,不过应该是较早的一个翻译吧,因为使用的还是 GLEW 库,不过翻译完整度很高。
    https://learnopengl-cn.readthedocs.io/zh/latest/

相关文章

  • 关于OpenGL的一些记录

    OpenGL是一个3D图形标准,与硬件无关,独立于操作系统。 OpenGL的核心库和为 gl,用于常规的、核心的图...

  • 02总结--002--OpenGL 专有名词

    [TOC] 这里记录 OpenGL 中用到的一些专有名词、英文释义 OpenGL OpenGL 相关名称 定义 O...

  • 1.OpenGL准备工作

    本专题主要记录一些OpenGL学习使用的相关内容。 1.简介: 使用OpenGL需要一些库,在Windows下选择...

  • OpenGL常用组合API套路

    基于OpenGL 3.3 记录了一些OpenGL常用的组合API。初学的,这篇可能还是太毛了 glfw的初始化: ...

  • iOS 学习资料

    记录iOS开发中的一些学习资料, 持续更新 OpenGL学习资料

  • OpenGL ES入门02-OpenGL ES着色器

    前言 本文是关于OpenGL ES的系统性学习过程,记录了自己在学习OpenGL ES时的收获。这篇文章的目标是学...

  • OpenGL ES入门01-OpenGL ES概述

    前言 本文是关于OpenGL ES的系统性学习过程,记录了自己在学习OpenGL ES时的收获。这篇文章的目标是搭...

  • OpenGL ES入门09-GLSL实现常见特效

    前言 本文是关于OpenGL ES的系统性学习过程,记录了自己在学习OpenGL ES时的收获。这篇文章的目标是用...

  • OpenGL ES入门10-多实例渲染

    前言 本文是关于OpenGL ES的系统性学习过程,记录了自己在学习OpenGL ES时的收获。这篇文章的目标是用...

  • OpenGL ES入门05-OpenGL ES 纹理贴图

    前言 本文是关于OpenGL ES的系统性学习过程,记录了自己在学习OpenGL ES时的收获。这篇文章的目标是学...

网友评论

    本文标题:关于OpenGL的一些记录

    本文链接:https://www.haomeiwen.com/subject/scxmzftx.html