glTexImage1D和glTexImage2D之间的区别

mil*_*ler 2 opengl textures

glTexImage2D()和之间有什么区别glTexImage1D()?实际上,我无法想象一维纹理.有什么东西有一维纹理?

Nic*_*las 6

纹理不是您在三角形上绘制的图片.纹理是值的查找表,着色器可以访问这些值并从中获取数据.您可以将纹理用作"绘制到三角形上的图片",但是您不应该仅限于此.

一维纹理是仅具有一个维度的纹理:宽度.这是一条线.它是一个维度的函数:f(x).您提供一个纹理坐标,并获得一个值.

2D纹理是具有两个维度的纹理:宽度和高度.这是一个矩形.它是两个维度的函数:f(x, y).您提供两个纹理坐标,并获得一个值.

一维纹理可用于任何一维函数的离散近似.您可以预先计算一些菲涅耳镜面反射因子并访问一维纹理来获取它们,而不是在着色器中计算它们.一维纹理可以代表高斯镜面术语,正如我在书中关于纹理的第一章中所做的那样.

一维纹理可以是任何一维函数.