Textures.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="page.js"></script>
  7. <link type="text/css" rel="stylesheet" href="page.css" />
  8. </head>
  9. <body>
  10. <h1>纹理常量(Texture Constants)</h1>
  11. <h2>映射模式</h2>
  12. <code>
  13. THREE.UVMapping
  14. THREE.CubeReflectionMapping
  15. THREE.CubeRefractionMapping
  16. THREE.EquirectangularReflectionMapping
  17. THREE.EquirectangularRefractionMapping
  18. THREE.CubeUVReflectionMapping
  19. </code>
  20. <p>
  21. 这些常量定义了纹理贴图的映射模式。<br />
  22. [page:Constant UVMapping]是默认值,纹理使用网格的坐标来进行映射。<br /><br />
  23. 其它的值定义了环境映射的类型。<br /><br />
  24. [page:Constant CubeReflectionMapping] 和 [page:Constant CubeRefractionMapping] 用于 [page:CubeTexture CubeTexture] ——
  25. 由6个纹理组合而成,每个纹理都是立方体的一个面。
  26. 对于[page:CubeTexture CubeTexture]来说,[page:Constant CubeReflectionMapping]是其默认值。<br /><br />
  27. [page:Constant EquirectangularReflectionMapping] 和 [page:Constant EquirectangularRefractionMapping]
  28. 用于等距圆柱投影的环境贴图,也被叫做经纬线映射贴图。等距圆柱投影贴图表示沿着其水平中线360°的视角,以及沿着其垂直轴向180°的视角。贴图顶部和底部的边缘分别对应于它所映射的球体的北极和南极。
  29. <br /><br />
  30. 请查看示例:[example:webgl_materials_envmaps materials / envmaps] 。
  31. </p>
  32. <h2>包裹模式</h2>
  33. <code>
  34. THREE.RepeatWrapping
  35. THREE.ClampToEdgeWrapping
  36. THREE.MirroredRepeatWrapping
  37. </code>
  38. <p>
  39. 这些常量定义了纹理贴图的 [page:Texture.wrapS wrapS] 和 [page:Texture.wrapT wrapT] 属性,定义了水平和垂直方向上纹理的包裹方式。
  40. <br /><br />
  41. 使用[page:constant RepeatWrapping],纹理将简单地重复到无穷大。
  42. With [page:constant RepeatWrapping] the texture will simply repeat to infinity.<br /><br />
  43. [page:constant ClampToEdgeWrapping]是默认值,纹理中的最后一个像素将延伸到网格的边缘。<br /><br />
  44. 使用[page:constant MirroredRepeatWrapping], 纹理将重复到无穷大,在每次重复时将进行镜像。
  45. </p>
  46. <h2>放大滤镜(Magnification Filters)</h2>
  47. <code>
  48. THREE.NearestFilter
  49. THREE.LinearFilter
  50. </code>
  51. <p>
  52. 这些常量用于纹理的[page:Texture.magFilter magFilter]属性,它们定义了当被纹理化的像素映射到小于或者等于1纹理元素(texel)的区域时,将要使用的纹理放大函数。<br /><br />
  53. [page:constant NearestFilter]返回与指定纹理坐标(在曼哈顿距离之内)最接近的纹理元素的值。<br /><br />
  54. [page:constant LinearFilter]是默认值,返回距离指定的纹理坐标最近的四个纹理元素的加权平均值,
  55. 并且可以包含纹理的其他部分中,被包裹或者被重复的项目,具体取决于 [page:Texture.wrapS wrapS] 和 [page:Texture.wrapT wrapT] 的值,and on the exact mapping。
  56. </p>
  57. <h2>缩小滤镜(Minification Filters)</h2>
  58. <code>
  59. THREE.NearestFilter
  60. THREE.NearestMipmapNearestFilter
  61. THREE.NearestMipmapLinearFilter
  62. THREE.LinearFilter
  63. THREE.LinearMipmapNearestFilter
  64. THREE.LinearMipmapLinearFilter
  65. </code>
  66. <p>
  67. 这些常量用于纹理的[page:Texture.minFilter minFilter]属性,它们定义了当被纹理化的像素映射到大于1纹理元素(texel)的区域时,将要使用的纹理缩小函数。<br /><br />
  68. 除了[page:constant NearestFilter] 和 [page:constant LinearFilter],
  69. 下面的四个函数也可以用于缩小:<br /><br />
  70. [page:constant NearestMipmapNearestFilter]选择与被纹理化像素的尺寸最匹配的mipmap,
  71. 并以[page:constant NearestFilter](最靠近像素中心的纹理元素)为标准来生成纹理值。
  72. <br /><br />
  73. [page:constant NearestMipmapLinearFilter]选择与被纹理化像素的尺寸最接近的两个mipmap,
  74. 并以[page:constant NearestFilter]为标准来从每个mipmap中生成纹理值。最终的纹理值是这两个值的加权平均值。
  75. <br /><br />
  76. [page:constant LinearMipmapNearestFilter]选择与被纹理化像素的尺寸最匹配的mipmap,
  77. 并以[page:constant LinearFilter](最靠近像素中心的四个纹理元素的加权平均值)为标准来生成纹理值。
  78. <br /><br />
  79. [page:constant LinearMipmapLinearFilter]是默认值,它选择与被纹理化像素的尺寸最接近的两个mipmap,
  80. 并以[page:constant LinearFilter]为标准来从每个mipmap中生成纹理值。最终的纹理值是这两个值的加权平均值。<br /><br />
  81. 请查看示例:[example:webgl_materials_texture_filters materials / texture / filters]。
  82. </p>
  83. <h2>类型</h2>
  84. <code>
  85. THREE.UnsignedByteType
  86. THREE.ByteType
  87. THREE.ShortType
  88. THREE.UnsignedShortType
  89. THREE.IntType
  90. THREE.UnsignedIntType
  91. THREE.FloatType
  92. THREE.HalfFloatType
  93. THREE.UnsignedShort4444Type
  94. THREE.UnsignedShort5551Type
  95. THREE.UnsignedInt248Type
  96. THREE.UnsignedInt5999Type
  97. </code>
  98. <p>
  99. 这些常量用于纹理的[page:Texture.type type]属性,这些属性必须与正确的格式相对应。详情请查看下方。<br /><br />
  100. [page:constant UnsignedByteType] 是默认值。
  101. </p>
  102. <h2>格式</h2>
  103. <code>
  104. THREE.AlphaFormat
  105. THREE.RedFormat
  106. THREE.RedIntegerFormat
  107. THREE.RGFormat
  108. THREE.RGIntegerFormat
  109. THREE.RGBFormat
  110. THREE.RGBAFormat
  111. THREE.RGBAIntegerFormat
  112. THREE.DepthFormat
  113. THREE.DepthStencilFormat
  114. </code>
  115. <p>
  116. 这些常量用于纹理的[page:Texture.format format]属性,它们定义了shader(着色器)将如何读取的2D纹理或者*texels*(纹理元素)的元素。.<br /><br />
  117. [page:constant AlphaFormat] 丢弃红、绿、蓝分量,仅读取Alpha分量。<br /><br />
  118. [page:constant RedFormat] 丢弃绿、蓝分量,仅读取红分量。<br /><br />
  119. [page:constant RedIntegerFormat] 丢弃绿、蓝分量,仅读取红分量。
  120. 纹理像素以整数形式读取,而非浮点数。
  121. <br /><br />
  122. [page:constant RGFormat] 丢弃 alpha、蓝分量,仅读取红、绿分量。
  123. <br /><br />
  124. [page:constant RGIntegerFormat] 丢弃 alpha、蓝分量,仅读取红、绿分量。
  125. 纹理像素以整数形式读取,而非浮点数。
  126. <br /><br />
  127. [page:constant RGBAFormat] 是默认值,它将读取红、绿、蓝和Alpha分量。<br /><br />
  128. [page:constant RGBAIntegerFormat] 是默认值,读取红、绿、蓝 和 alpha 分量。
  129. 纹理像素以整数形式读取,而非浮点数。
  130. <br /><br />
  131. [page:constant DepthFormat]将每个元素作为单独的深度值来读取,将其转换为范围限制在[0,1]区间的浮点数。
  132. 它是[page:DepthTexture DepthTexture]的默认值。<br /><br />
  133. [page:constant DepthStencilFormat]将每个元素同时作为一对深度值和模板值来读取。
  134. 其中的深度分量解释为[page:constant DepthFormat]。
  135. 模板分量基于深度+模板的内部格式来进行解释。
  136. <br /><br />
  137. 请注意,纹理必须具有正确的[page:Texture.type type]设置,正如上一节所描述的那样。
  138. 请参阅[link:https://developer.mozilla.org/en/docs/Web/API/WebGLRenderingContext/texImage2D WebGLRenderingContext.texImage2D]
  139. 来获得有关详细信息。
  140. </p>
  141. <h2>DDS / ST3C 压缩纹理格式</h2>
  142. <code>
  143. THREE.RGB_S3TC_DXT1_Format
  144. THREE.RGBA_S3TC_DXT1_Format
  145. THREE.RGBA_S3TC_DXT3_Format
  146. THREE.RGBA_S3TC_DXT5_Format
  147. </code>
  148. <p>
  149. 要使用[page:CompressedTexture CompressedTexture]中的[page:Texture.format format]属性,
  150. 需要获得[link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/ WEBGL_compressed_texture_s3tc]
  151. 扩展的支持。<br /><br />
  152. 通过这个扩展,这里的四种[link:https://en.wikipedia.org/wiki/S3_Texture_Compression S3TC]格式将可以使用:<br />
  153. [page:constant RGB_S3TC_DXT1_Format]:RGB图像格式的DXT1压缩图像。<br />
  154. [page:constant RGBA_S3TC_DXT1_Format]:RGB图像格式的DXT1压缩图像,Alpha仅具有是/否透明两个值。<br />
  155. [page:constant RGBA_S3TC_DXT3_Format]:RGBA图像格式的DXT3压缩图像,和32位RGBA纹理贴图相比,它提供了4:1的压缩比。<br />
  156. [page:constant RGBA_S3TC_DXT5_Format]:RGBA图像格式的DXT5压缩图像,它也提供了4:1的压缩比,但与DX3格式的不同之处在于其Alpha是如何被压缩的。<br />
  157. </p>
  158. <h2>PVRTC 压缩纹理格式(PVRTC Compressed Texture Formats)</h2>
  159. <code>
  160. THREE.RGB_PVRTC_4BPPV1_Format
  161. THREE.RGB_PVRTC_2BPPV1_Format
  162. THREE.RGBA_PVRTC_4BPPV1_Format
  163. THREE.RGBA_PVRTC_2BPPV1_Format
  164. </code>
  165. <p>
  166. 要使用[page:CompressedTexture CompressedTexture]中的[page:Texture.format format]属性,需要获得
  167. [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/ WEBGL_compressed_texture_pvrtc]
  168. 扩展的支持。<br />
  169. PVRTC通常只在具有PowerVR芯片的移动设备上可用,这些设备主要是苹果设备。<br /><br />
  170. 通过这个扩展,这里的四种[link:https://en.wikipedia.org/wiki/PVRTC PVRTC]格式将可以使用:<br />
  171. [page:constant RGB_PVRTC_4BPPV1_Format]:4位模式下的RGB压缩,每4x4像素一个块。<br />
  172. [page:constant RGB_PVRTC_2BPPV1_Format]:2位模式下的RGB压缩,每8x4像素一个块。<br />
  173. [page:constant RGBA_PVRTC_4BPPV1_Format]: 4位模式下的RGBA压缩,每4x4像素一个块。<br />
  174. [page:constant RGBA_PVRTC_2BPPV1_Format]: 2位模式下的RGB压缩,每8x4像素一个块。<br />
  175. </p>
  176. <h2>ETC 压缩纹理格式</h2>
  177. <code>
  178. THREE.RGB_ETC1_Format
  179. THREE.RGB_ETC2_Format
  180. THREE.RGBA_ETC2_EAC_Format
  181. </code>
  182. <p>
  183. 为了与 [page:CompressedTexture CompressedTexture] 的 [page:Texture.format format] 属性一起使用,这些需要支持 [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc1/ WEBGL_compressed_texture_etc1]
  184. (ETC1) 或 [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/ WEBGL_compressed_texture_etc]
  185. (ETC2) 扩展。<br /><br />
  186. </p>
  187. <h2>ASTC 压缩纹理格式</h2>
  188. <code>
  189. THREE.RGBA_ASTC_4x4_Format
  190. THREE.RGBA_ASTC_5x4_Format
  191. THREE.RGBA_ASTC_5x5_Format
  192. THREE.RGBA_ASTC_6x5_Format
  193. THREE.RGBA_ASTC_6x6_Format
  194. THREE.RGBA_ASTC_8x5_Format
  195. THREE.RGBA_ASTC_8x6_Format
  196. THREE.RGBA_ASTC_8x8_Format
  197. THREE.RGBA_ASTC_10x5_Format
  198. THREE.RGBA_ASTC_10x6_Format
  199. THREE.RGBA_ASTC_10x8_Format
  200. THREE.RGBA_ASTC_10x10_Format
  201. THREE.RGBA_ASTC_12x10_Format
  202. THREE.RGBA_ASTC_12x12_Format
  203. </code>
  204. <p>
  205. 为了与 [page:CompressedTexture CompressedTexture] 的 [page:Texture.format format] 属性一起使用,这些需要支持 [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/ WEBGL_compressed_texture_astc] 扩展。<br /><br />
  206. </p>
  207. <h2>内部格式</h2>
  208. <code>
  209. 'ALPHA'
  210. 'RGB'
  211. 'RGBA'
  212. 'LUMINANCE'
  213. 'LUMINANCE_ALPHA'
  214. 'RED_INTEGER'
  215. 'R8'
  216. 'R8_SNORM'
  217. 'R8I'
  218. 'R8UI'
  219. 'R16I'
  220. 'R16UI'
  221. 'R16F'
  222. 'R32I'
  223. 'R32UI'
  224. 'R32F'
  225. 'RG8'
  226. 'RG8_SNORM'
  227. 'RG8I'
  228. 'RG8UI'
  229. 'RG16I'
  230. 'RG16UI'
  231. 'RG16F'
  232. 'RG32I'
  233. 'RG32UI'
  234. 'RG32F'
  235. 'RGB565'
  236. 'RGB8'
  237. 'RGB8_SNORM'
  238. 'RGB8I'
  239. 'RGB8UI'
  240. 'RGB16I'
  241. 'RGB16UI'
  242. 'RGB16F'
  243. 'RGB32I'
  244. 'RGB32UI'
  245. 'RGB32F'
  246. 'RGB9_E5'
  247. 'SRGB8'
  248. 'R11F_G11F_B10F'
  249. 'RGBA4'
  250. 'RGBA8'
  251. 'RGBA8_SNORM'
  252. 'RGBA8I'
  253. 'RGBA8UI'
  254. 'RGBA16I'
  255. 'RGBA16UI'
  256. 'RGBA16F'
  257. 'RGBA32I'
  258. 'RGBA32UI'
  259. 'RGBA32F'
  260. 'RGB5_A1'
  261. 'RGB10_A2'
  262. 'RGB10_A2UI'
  263. 'SRGB8_ALPHA8'
  264. 'DEPTH_COMPONENT16'
  265. 'DEPTH_COMPONENT24'
  266. 'DEPTH_COMPONENT32F'
  267. 'DEPTH24_STENCIL8'
  268. 'DEPTH32F_STENCIL8'
  269. </code>
  270. <p>
  271. 为了与纹理 [page:Texture.internalFormat internalFormat] 属性一起使用,
  272. 这些属性定义了纹理元素或 *texels* 在GPU上的存储方式。<br /><br />
  273. [page:constant R8] 存储红色分量,占用 8 bits。<br /><br />
  274. [page:constant R8_SNORM] 存储红色分量,占用 8 bits。 分量值为归一化后的值。<br /><br />
  275. [page:constant R8I] 存储红色分量,占用 8 bits。 分量值为整数。<br /><br />
  276. [page:constant R8UI] 存储红色分量,占用 8 bits。 分量值为无符号整数。<br /><br />
  277. [page:constant R16I] 存储红色分量,占用 16 bits。 分量值为整数。<br /><br />
  278. [page:constant R16UI] 存储红色分量,占用 16 bits。 分量值为无符号整数。<br /><br />
  279. [page:constant R16F] 存储红色分量,占用 16 bits。 分量值为浮点数。<br /><br />
  280. [page:constant R32I] 存储红色分量,占用 32 bits。 分量值为整数。<br /><br />
  281. [page:constant R32UI] 存储红色分量,占用 32 bits。 分量值为无符号整数。<br /><br />
  282. [page:constant R32F] 存储红色分量,占用 32 bits。 分量值为浮点数。<br /><br />
  283. [page:constant RG8] 存储红色和绿色分量,分别占用 8 bits。<br /><br />
  284. [page:constant RG8_SNORM] 存储红色和绿色分量,分别占用 8 bits。
  285. 每个分量都是归一化后的值。
  286. <br /><br />
  287. [page:constant RG8I] 存储红色和绿色分量,分别占用 8 bits。
  288. 每个分量都是整数。
  289. <br /><br />
  290. [page:constant RG8UI] 存储红色和绿色分量,分别占用 8 bits。
  291. 每个分量都是无符号整数。
  292. <br /><br />
  293. [page:constant RG16I] 存储红色和绿色分量,分别占用 16 bits。
  294. 每个分量都是整数。
  295. <br /><br />
  296. [page:constant RG16UI] 存储红色和绿色分量,分别占用 16 bits。
  297. 每个分量都是无符号整数。
  298. <br /><br />
  299. [page:constant RG16F] 存储红色和绿色分量,分别占用 16 bits。
  300. 每个分量都是浮点数。
  301. <br /><br />
  302. [page:constant RG32I] 存储红色和绿色分量,分别占用 32 bits。
  303. 每个分量都是整数。
  304. <br /><br />
  305. [page:constant RG32UI] 存储红色和绿色分量,分别占用 32 bits。
  306. 每个分量都是无符号整数。
  307. <br /><br />
  308. [page:constant RG32F] 存储红色和绿色分量,分别占用 32 bits。
  309. 每个分量都是浮点数。
  310. <br /><br />
  311. [page:constant RGB8] 存储红色、绿色和蓝色分量,分别占用 8 bits。
  312. <br /><br />
  313. [page:constant RGB8_SNORM] 存储红色、绿色和蓝色分量,分别占用 8 bits。
  314. 每个分量都是归一化后的值。
  315. <br /><br />
  316. [page:constant RGB8I] 存储红色、绿色和蓝色分量,分别占用 8 bits。
  317. 每个分量都是整数。
  318. <br /><br />
  319. [page:constant RGB8UI] 存储红色、绿色和蓝色分量,分别占用 8 bits。
  320. 每个分量都是无符号整数。
  321. <br /><br />
  322. [page:constant RGB16I] 存储红色、绿色和蓝色分量,分别占用 16 bits。
  323. 每个分量都是整数。
  324. <br /><br />
  325. [page:constant RGB16UI] 存储红色、绿色和蓝色分量,分别占用 16 bits。
  326. 每个分量都是无符号整数。
  327. <br /><br />
  328. [page:constant RGB16F] 存储红色、绿色和蓝色分量,分别占用 16 bits。
  329. 每个分量都是浮点数。
  330. <br /><br />
  331. [page:constant RGB32I] 存储红色、绿色和蓝色分量,分别占用 32 bits。
  332. 每个分量都是整数。
  333. <br /><br />
  334. [page:constant RGB32UI] 存储红色、绿色和蓝色分量,分别占用 32 bits。
  335. 每个分量都是无符号整数。
  336. <br /><br />
  337. [page:constant RGB32F] 存储红色、绿色和蓝色分量,分别占用 32 bits。
  338. 每个分量都是浮点数。
  339. <br /><br />
  340. [page:constant R11F_G11F_B10F] 存储红色、绿色和蓝色分量,分别占用 11 bits、11 bits 和 10bits。
  341. 每个分量都是浮点数。
  342. <br /><br />
  343. [page:constant RGB565] 存储红色、绿色和蓝色分量,分别占用 5 bits、6 bits 和 5 bits。<br /><br />
  344. [page:constant RGB9_E5] 存储红色、绿色和蓝色分量,分别占用 9 bits。<br /><br />
  345. [page:constant RGBA8] 存储红色、绿色、蓝色和 alpha 分量,分别占用 8 bits。<br /><br />
  346. [page:constant RGBA8_SNORM] 存储红色、绿色、蓝色和 alpha 分量,分别占用 8 bits。
  347. 每个分量都是归一化后的值。
  348. <br /><br />
  349. [page:constant RGBA8I] 存储红色、绿色、蓝色和 alpha 分量,分别占用 8 bits。
  350. 每个分量都是整数。
  351. <br /><br />
  352. [page:constant RGBA8UI] 存储红色、绿色、蓝色和 alpha 分量,分别占用 8 bits。
  353. 每个分量都是无符号整数。
  354. <br /><br />
  355. [page:constant RGBA16I] 存储红色、绿色、蓝色和 alpha 分量,分别占用 16 bits。
  356. 每个分量都是整数。
  357. <br /><br />
  358. [page:constant RGBA16UI] 存储红色、绿色、蓝色和 alpha 分量,分别占用 16 bits。
  359. 每个分量都是无符号整数。
  360. <br /><br />
  361. [page:constant RGBA16F] 存储红色、绿色、蓝色和 alpha 分量,分别占用 16 bits。
  362. 每个分量都是浮点数。
  363. <br /><br />
  364. [page:constant RGBA32I] 存储红色、绿色、蓝色和 alpha 分量,分别占用 32 bits。
  365. 每个分量都是整数。
  366. <br /><br />
  367. [page:constant RGBA32UI] 存储红色、绿色、蓝色和 alpha 分量,分别占用 32 bits。
  368. 每个分量都是无符号整数。
  369. <br /><br />
  370. [page:constant RGBA32F] 存储红色、绿色、蓝色和 alpha 分量,分别占用 32 bits。
  371. 每个分量都是浮点数。
  372. <br /><br />
  373. [page:constant RGB5_A1] 存储红色、绿色、蓝色和 alpha 分量,分别占用 5 bits、5 bits、5 bits 和 1 bit。<br /><br />
  374. [page:constant RGB10_A2] 存储红色、绿色、蓝色和 alpha 分量,分别占用 10 bits、10 bits、10 bits 和 2 bits。<br /><br />
  375. [page:constant RGB10_A2UI] 存储红色、绿色、蓝色和 alpha 分量,分别占用 10 bits、10 bits、10 bits 和 2 bits。
  376. 每个分量都是无符号整数。
  377. <br /><br />
  378. [page:constant SRGB8] 存储红色、绿色和蓝色分量,分别占用 8 bits。<br /><br />
  379. [page:constant SRGB8_ALPHA8] 存储红色、绿色、蓝色和 alpha 分量,分别占用 8 bits。<br /><br />
  380. [page:constant DEPTH_COMPONENT16] 存储深度分量,占用 16bits。<br /><br />
  381. [page:constant DEPTH_COMPONENT24] 存储深度分量,占用 24bits。<br /><br />
  382. [page:constant DEPTH_COMPONENT32F] 存储深度分量,占用 32bits。分量值为浮点数。<br /><br />
  383. [page:constant DEPTH24_STENCIL8] 存储深度和模板分量,分别占用 24 bits 和 8 bits。
  384. 模板分量为无符号整数。
  385. <br /><br />
  386. [page:constant DEPTH32F_STENCIL8] 存储深度和模板分量,分别占用 32 bits 和 8 bits。
  387. 深度分量为浮点数,模板分量为无符号整数。
  388. <br /><br />
  389. 请注意,纹理必须具有正确的 [page:Texture.type type] 设置,以及正确的 [page:Texture.format format]。
  390. <br />
  391. 查看 [link:https://developer.mozilla.org/en/docs/Web/API/WebGLRenderingContext/texImage2D WebGLRenderingContext.texImage2D] 和
  392. [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/texImage3D WebGL2RenderingContext.texImage3D],
  393. 有关可能组合的更多详细信息 [page:Texture.format format]、[page:Texture.internalFormat internalFormat] 和 [page:Texture.type type]。<br /><br />
  394. 有关内部格式的更多详细信息,您还可以直接参考 [link:https://www.khronos.org/registry/webgl/specs/latest/2.0/ WebGL2 Specification] 和 [link:https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf OpenGL ES 3.0 Specification]。
  395. </p>
  396. <h2>深度包装</h2>
  397. <code>
  398. THREE.BasicDepthPacking
  399. THREE.RGBADepthPacking
  400. </code>
  401. <p>
  402. 与 `MeshDepthMaterial` 的 [page:MeshDepthMaterial.depthPacking depthPacking] 属性一起使用。
  403. </p>
  404. <h2>颜色空间</h2>
  405. <code>
  406. THREE.NoColorSpace = ""
  407. THREE.SRGBColorSpace = "srgb"
  408. THREE.LinearSRGBColorSpace = "srgb-linear"
  409. </code>
  410. <p>
  411. 用于定义纹理的颜色空间(以及渲染器的输出颜色空间)。<br /><br />
  412. 如果在纹理已被材质使用后更改颜色空间类型,则需要将 [page:Material.needsUpdate Material.needsUpdate] 设置为 `true` 以使材质重新编译。<br /><br />
  413. </p>
  414. <h2>源代码</h2>
  415. <p>
  416. [link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
  417. </p>
  418. </body>
  419. </html>
粤ICP备19079148号