做个记号,graphics shader 2的一段 tessalate

本文探讨了Tessellation Shader在GPU管线中的作用及其实现细节,包括如何使用uniform变量设置细分级别,并讨论了根据几何特性动态调整细分水平的可能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#version 400
#extension GL_ARB_tessellation_shader : enable
uniform float uOuter02, uOuter13, uInner0, uInner1;
layout( vertices = 16 ) out;
void main( )
{
gl_out[ gl_InvocationID ].gl_Position = gl_in[ gl_InvocationID ].gl_Position;
gl_TessLevelOuter[0] = gl_TessLevelOuter[2] = uOuter02;
gl_TessLevelOuter[1] = gl_TesslevelOuter[3] = uOuter13;
gl_TessLevelInner[0] = uInner0;
gl_TessLevelInner[1] = uInner1;
}
In this example, the amount of tessellation is set by uniform variables for
simplicity. But, in fact, those levels could also have been set by examining the
geometry’s coordinate size, screen extent, zoom factors, curvature, etc. That’s
the advantage of placing this capability in the pipeline as a programmable

shader.

这是gpu端更新lod参数,还是cpu端来更新?

这些变量通过什么参数来表现?

希望看完chapter13后可以得到答案,先记着。


geometry’s coordinate size指的难道是gl_PointSize

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值