OpenGL入门

纹理与采样器

概念

API使用

  1. 创建纹理对象
unsigned int texture;
glGenTextures(1, &texture);
  1. 绑定纹理
glBindTexture(GL_TEXTURE_2D, texture);

重要概念
图元 Prmitive

  • 点 Point
  • 线段 Line Segment
  • 面片 Patch
  • 多边形 Polygon

光栅化 Rasterization
着色器 Shaders

  • 顶点着色器vertex shader
  • 片面着色器fragment shader

渲染管线Pipeline
上下文 Context
对象 Object

  • 缓存对象 Buffer Objects
  • 着色器对象 Shader Objects
  • 程序对象 Program Objects
  • 程序管线对象 Program Pipeline Objects
  • 纹理对象 Texture Objects 采
  • 样器对象 Sampler Objects
  • 渲染缓存对象 Renderbuffer Objects
  • 帧缓冲对象 Framebuffer Objects
  • 点阵对象 Vertex
  • Array Objects
  • Transform Feedback Objects
  • Query Objects Sync Objects
    纹理 Texture
    定点 Vertex
    面片 Fragment
    OpenGL着色语言 OpenGL Shading Language

GL命令是 C/S模型,程序是客户端, GL是服务端, 程序发出命令,GL解释和处理命令.
服务器不一定与客户端在同一台PC或同一个地址空间.

一个服务器要维护许多GL上下文.

客户端可以选择成为GL上下文的当前程序.

当程序不是GL上下文的当前程序时, 发出命令的结果未定义.

GL 上下文是GL状态和对象的封装.

帧缓存有2类:
窗口系统提供的帧缓存: 被称为默认帧缓存
应用程序创建的帧缓存 被称为帧缓存对象

默认帧缓存与帧缓存对象主要的区别是配置和管理状态的接口.

一个上下文可以关联2个帧缓存, 一个用来读,一个用来绘制.

默认帧缓存上的GL命令的效果最终由窗口系统控制, 窗口系统分配帧缓存资源, 决定在某一特定时间访问默认帧缓存的哪一部分, 并且告诉GL 这些部分如何构建.
因此,没有GL命令初始化GL上下文或配置默认帧缓存.
同理,特定物理设备上帧缓存内容的显示也不由GL处理.

分配和配置GL上下文,用的是API.

GL上下文可以关联不同的默认帧缓存, 并且一些上下文状态是在关联的时候确定的.

可以使用不带默认帧缓存的GL上下文, 这种情况下,必须使用帧缓存对象来完成所有渲染.
这点对需要做offscreen rendering的应用程序很重要.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值