1

目前我有一个简单的着色器,可以将静态网格渲染到场景中。我想知道是否有可能在我的顶点着色器中有第二个输出,它在应用投影后给我对象的 2D 边界框。像这样的东西:

#version 330 core

in vec4 Vertex_ms;
in vec4 Normal_ms;

out vec4 Normal_ws;

uniform mat4 Proj;
uniform mat4 View;
uniform mat4 Model;

uniform out vec2 topRight;
uniform out vec2 bottomLeft;

void main() {
    gl_Position = Proj * View * Model * Vertex_ms;
    topRight = max(gl_Position.xy, topRight);
    bottomLeft = min(gl_Position.xy, bottomLeft);

    Normal_ws = Model * Normal_ms;
}

这不起作用,因为我不能写制服,但目的是,我可以减少投影顶点以获得边界框。

4

1 回答 1

5
于 2013-09-21T19:12:00.327 回答