On Jan 26, 2:49 pm, Tristam MacDonald <[email protected]> wrote: > Geometry shaders aren't as fast as they might be, but histopyramids perform > the exact same task, and are much faster. Provided you can somehow rather directly get texture data into vertex buffers (commonly known as render to vertex buffer)
> Instancing was devised to work around the high cost of DX 9 draw calls. It > was never billed as a performance save in the OpenGL world, although it does > allow you to free up some CPU time for other tasks. I've measured pseudo vs. true instancing on my gForce 8800 GTS, and it performs to within a hairswidth the same performance. > I would recommend that you eliminate that expensive copy either by > switching the terrain visualisation to relief mapping (thus rendering > entirely in the pixel shader) Relief mapping is slow as hell, besides other rendering related drawbacks and artefacts. >, or using vertex texture fetch to use the > heightmap texture directly in the vertex shader Vertex shader texture fetches slow as hell. > , or use a texture buffer > object + framebuffer blit to perform the copy a lot faster. This is what I do, I follow the spirit of render to vertex buffer *precisely*, you must have skipped that part of the code, so I'll explain to you what it does: 1) use a source heightmap and write that to two textures being the vertex map and the normal map by way of a FBO 2) copy that into a PBO (which theoretically should be vram -> vram) Suggesting to get rid of the copying process is silly, because - The texture storage extension (where you get to attach a PBO as the storage for a texture) does only work on nvidia cards, and I think my linux driver doesn't even support it. - Other then copying, there's no way to get data from textures to PBOs - You can't attach a PBO to a FBO as render target -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pyglet-users?hl=en.
