2

http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter37.htmlにあるGPUGems2の章から、Cgを使用してGPUで使用するためにOpenGLの3Dテクスチャに八分木を保存し​​ようとしています。しかし、私が得ている結果は正しくありません。これは私が八分木を作る方法のせいだと思います。

その章の付録には、「間接プールテクスチャ(八分木テクスチャ)を繰り返しモード(GL_REPEAT)でバインドすると...」と書かれています。

これは単にフィルターとラッピングを繰り返すように設定することを意味しますか、それとも何か他のことをする必要がありますか?これはこれまでの私のコードです

glGenTextures(1, &octree_texture);
glBindTexture(GL_TEXTURE_3D, octree_texture);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_REPEAT);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_REPEAT);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_REPEAT);
glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA, WIDTH, HEIGHT, DEPTH, 0, GL_RGBA, GL_UNSIGNED_BYTE, octreeData);

助けてくれてありがとう :)

4

1 に答える 1

3

フィルタを繰り返すことはできません。これによりGLエラーが生成され、ラップモードのみがGL_REPEATになります。これが、おそらくこの本の意味です。

于 2011-08-04T11:41:02.707 に答える