我正在创建一个简单的小软件 3D 引擎。现在,如果所有顶点都在截锥体之外,则多边形不会渲染,这一切都很好,直到您靠近多边形并且所有顶点都离开屏幕但中间仍在截锥体内但它省略了无论如何。无论如何我都会尝试渲染它,但我需要对其进行一些优化,所以这是我想到的第一个。
如果您不明白我试图理解的内容,这里是一个 gif 和一些问题代码。
boolean v1Inside = v1.isInsideViewFrustum();
boolean v2Inside = v2.isInsideViewFrustum();
boolean v3Inside = v3.isInsideViewFrustum();
if (v1Inside && v2Inside && v3Inside) {
rasterizeTriangle(v1, v2, v3);
return;
}
if (!(v1Inside || v2Inside || v3Inside)) {
return;
}