我试着在openGl中剪辑网格,我想我有一个数学问题。我有一个立方体
我需要剪切例如立方体的一半。所以我不知道如何计算这个剪切平面。白色说明了这个剪切平面应该是什么样子,它只是平行的立方体的一个侧面我的剪辑第一个那么,如何计算这个裁剪平面。我想了解如何计算每个立方体侧面的裁剪平面
cmssoen21#
假设你的输入顶点描述了一个(0,0,0)-〉(1,1,1)立方体,你可以用顶点着色器顶部的一行来解决这个问题:
aPos = clamp(aPos, vec3(clipMinX, clipMinY, clipMinZ), vec3(clipMaxX, clipMaxY, clipMaxZ));
其中clip{Min,Max}*变量是剪切立方体时所依据的轴对齐距离。例如,aPos = clamp(aPos, vec3(0,0,0), vec3(1,0.5,1))将剪切立方体的上半部分。
clip{Min,Max}*
aPos = clamp(aPos, vec3(0,0,0), vec3(1,0.5,1))
1条答案
按热度按时间cmssoen21#
假设你的输入顶点描述了一个(0,0,0)-〉(1,1,1)立方体,你可以用顶点着色器顶部的一行来解决这个问题:
其中
clip{Min,Max}*
变量是剪切立方体时所依据的轴对齐距离。例如,
aPos = clamp(aPos, vec3(0,0,0), vec3(1,0.5,1))
将剪切立方体的上半部分。