我刚刚开始使用OpenGL细分,并且遇到了一些麻烦.我正在细分由一个顶点形成的一系列补丁.这些顶点/补丁以网格状结构构造,以后形成由Perlin Noise生成的地形.
我遇到的问题是从第二个补丁开始,之后的每第 5 个补丁,有时会有很多细分(不是我配置的方式),但大多数情况下它根本没有得到细分.

两个白色圆圈标记高度/过度细分的贴片.还要注意未分区补丁的模式.
奇怪的是,它适用于我的Surface Pro 2(英特尔HD4400显卡),但我的主台式电脑(AMD HD6950显卡)上有错误.硬件有可能坏吗?
vec4* patches = new vec4[m_patchesWidth * m_patchesDepth];
int c = 0;
for (unsigned int z = 0; z < m_patchesDepth; ++z) {
for (unsigned int x = 0; x < m_patchesWidth; ++x) {
patches[c] = vec4(x * 1.5f, 0, z * 1.5f, 1.0f);
c++;
}
}
m_fxTerrain->Apply();
glGenBuffers(1, &m_planePatches);
glBindBuffer(GL_ARRAY_BUFFER, m_planePatches);
glBufferData(GL_ARRAY_BUFFER, m_patchesWidth * m_patchesDepth * sizeof(vec4), patches, GL_STATIC_DRAW);
GLuint loc = m_fxTerrain->GetAttrib("posIn"); …Run Code Online (Sandbox Code Playgroud)