本节书摘来自华章出版社《OpenGL编程指南》一书中的第3章,作者 Bill Licea-Kane ,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第3章 OpenGL绘制方式

本章目标
阅读完本章内容之后,你将会具备以下的能力:
辨别所有OpenGL中可用的渲染图元。
初始化和设置数据缓存,用于几何体的渲染。
使用多实例渲染(instanced rendering)等高级技法对渲染进行优化。
OpenGL的主要作用就是将图形渲染到帧缓存当中。为了实现这一要求,需要将复杂的物体分解成图元的形式(包括点、线,以及三角形),当它们的分布密度足够高时,就可以表达为2D以及3D物体的形态。OpenGL中包含了很多渲染这类图元的函数。这些函数允许我们描述图元在内存中的布局、渲染的数量和渲染所采取的形式,甚至是同一组图元在一个函数调用中所复制的数量。这些函数几乎是OpenGL最为重要的函数组成,如果没有它们的话,那么我们可能除了清除屏幕之外无法再完成任何事情。
这一章将会包含以下几节:
3.1节介绍OpenGL中可以用于渲染的图元类型。
3.2节解释OpenGL中数据处理的机制。
3.3节给出顶点数据的渲染以及顶点着色器中的处理过程。
3.4节介绍OpenGL中用于绘制的函数集。
3.5节讲解高效地使用同一顶点数据来实现多个物体的渲染方法。

《OpenGL编程指南》一第3章 OpenGL绘制方式相关推荐

  1. OpenGL编程指南3:GLUT:OpenGL使用工具库

    1.前言 我们知道的,OpenGL包含了很多的渲染函数,这些函数的设计目的就是独立与任何窗口系统或操作系统.因此,他并没有包含打开窗口或者从键盘或鼠标读取事件的函数.遗憾的是,如果连最基本的打开窗口的 ...

  2. 《OpenGL编程指南》一第2章 着色器基础

    本节书摘来自华章出版社<OpenGL编程指南>一书中的第2章,作者 Bill Licea-Kane ,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第2章 着色 ...

  3. 《OpenGL编程指南(原书第8版)》——计算着色器

    原文  http://www.csdn.net/article/2014-11-21/2822754 主题 OpenGL 数学 概述 由于图形处理器每秒能够进行数以亿计次的计算,它已成为一种性能十分惊 ...

  4. 《OpenGL编程指南》一3.2 OpenGL缓存数据

    本节书摘来自华章出版社<OpenGL编程指南>一书中的第3章,第3.2节,作者 Bill Licea-Kane ,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  5. OpenGL深入探索——《OpenGL编程指南(原书第8版)》——计算着色器

    转载自 <OpenGL编程指南(原书第8版)>--计算着色器 概述 由于图形处理器每秒能够进行数以亿计次的计算,它已成为一种性能十分惊人的器件.过去,这种处理器主要被设计用于承担实时图形渲 ...

  6. OpenGl编程指南例2.4大白话分析

    OpenGl编程指南例2.4分析 即上一篇文章搭建了opengl的环境后,继续学习Opengl,被第二章的各种gen,bind,buffer搞得晕头转向,在还没有消化完全的时候,又被一计重击打到--为 ...

  7. OpenGL编程指南7:视图-

    1.前言 计算机图形学的要点就是创建三维物体的二维图像(图像必须是二维的,因为他是在平面的屏幕上显示的).但是,当我们决定怎样在屏幕上绘图时,必须使用三维坐标的方式考虑. 为了把一个物体的三维坐标变成 ...

  8. OpenGL编程指南5:学习绘制不同风格的曲线

    1.不同风格曲线绘制 #include <vgl.h> //宏定义;当定义的宏不能用一行表达完整时,可以用"\"表示下一行继续 #define drawOneLine( ...

  9. OpenGL编程指南4:双缓冲实现运行

    1.前言 绘制一个旋转的方块,主要为了说明glutSwapBuffers()函数的用法. 同时也为了学习如何使用GLUT控制输入设备,并打开或关闭空闲处理函数. 2.OpenGL编程及程序剖析 /** ...

最新文章

  1. SpringMVC的文件上传和拦截器
  2. nyoj 55(优先队列)
  3. myeclipse中ALT+/怎么不管用了
  4. 由衷的信来激励有抱负的开发人员
  5. 大鱼风控笔记 1:量化风控体系的风险板块
  6. 64位BASM学习随笔(一)
  7. linux vim命令_提升生产力的20大Linux Vim命令
  8. 7-4 散列表查找(PTA程序设计)
  9. STM32移植USB驱动总结
  10. matlab中textscan函数的用法,matlab中textscan format内容的用法.doc
  11. 自制简易浏览器(Python)
  12. c语言汉字属于什么类型_带你学习C语言—数据类型
  13. 机器学习-准确率、灵敏度、特异度、PPV、NPV、F1计算方法
  14. 房地产企业与项目管理
  15. 英雄无敌6服务器在哪个文件夹,win7系统英雄无敌6无法运行的解决方法
  16. python在tk界面播放本地视频_如何使用python3在tkinter窗口中插入视频播放器?
  17. 【vscode 插件】为 markdown 文章标题自动添加多级序号
  18. dsniff 和 Ettercap 和 bettercap 详解
  19. Inspection info: This inspection detects names that should resolve but don‘t. Due to dynamic dispatc
  20. 周围神经系统的分类和分布,周围神经系统的简称

热门文章

  1. Kubernetes 的CRI-O容器引擎中存在严重漏洞
  2. 美国国防部设立承包商网络漏洞披露计划
  3. 戴尔 Wyse Thin 客户端设备受两个 CVSS 10分严重漏洞影响
  4. 不小心发现谷歌 Firebase 消息服务的漏洞,获奖3万+美元
  5. 我是如何从零基础自学到找到工作经过
  6. JAVA入门到精通-第16讲-数组
  7. AutoMapper,对象映射的简单使用
  8. 知物由学 |“网状世界”下,无处可逃的信息安全
  9. 从零开始——安装插件和各种专业术语
  10. Windows绘图中的GDI映射模式