u missed a couple of words
"cubemaps are a way to do (crap) reflections on modern(? == last century) gpus"
ok cubemeaps are crap for reflections, though they do have other possible uses eg pointlight shadowmaps
I know this is slightly off topic but ATI usually refers to geometry shaders as being part of the US model (according to their papers they want US to do all three) so what is missing in the ALUs of the Xenos to make GS impossible on the hardware?
Dual Paraboloids are nice and I also don't mind latitude-longitude maps, but in general, when you start getting into non-affine camera geometries, I tend to find the per-vertex projection is problematic. You really need per-pixel projection for those things, and that means either raycasting or extreme tesselation. Hence why I have little qualms with zed referring to GPUs as semi-stoneage.I'm interested in what you consider a better reflection solution for "modern GPU's".
The main problem with GS is that unlike VS and PS, it allows for a relationship between input and output data that is not 1:1 . As such, the control circuitry needed to support geometry shaders is very different from that of vertex/pixel shaders, even though the execution units themselves are quite similar.It doesn't have any explicit geometry shader thread allocation as it does for VS and PS (up to 32 and 64 threads, respectively). Though, otherwise, I'd (perhaps ignorantly) think everything else is just a matter of data interpretation, thus you could run a GS, simply considering it VS for thread purposes.
Dual Paraboloids are nice and I also don't mind latitude-longitude maps, but in general, when you start getting into non-affine camera geometries, I tend to find the per-vertex projection is problematic. You really need per-pixel projection for those things, and that means either raycasting or extreme tesselation. Hence why I have little qualms with zed referring to GPUs as semi-stoneage.
It's actually possible to construct a triangle that is visible on all the 6 sides of the cubemap.
Dual Paraboloids are nice and I also don't mind latitude-longitude maps, but in general, when you start getting into non-affine camera geometries, I tend to find the per-vertex projection is problematic. You really need per-pixel projection for those things, and that means either raycasting or extreme tesselation. Hence why I have little qualms with zed referring to GPUs as semi-stoneage.
Per-pixel cube-map reflections have been doable in pixel shaders ever since Geforce3, although the method usually used does make the assumption that the reflected object is "far away" from the reflector.
RT FTW!when do we get to see self-reflections finally?
Well, even flat cameras still demand per pixel projection because perspective is by nature a non-linear transformation and not every quantity is linear in screen space even if its linear in 3d space. It's just less noticeable when you perspective-correctly interpolate components like textures.well, call me old-fashioned but i still find the main problem with cube maps not that they're usually impemented as flat-camera based (our viewports have been like that for the past, erm, 20 years)
*scoff* I'd love that, too... but the fact of the matter is that everything about a rasterizer is against you in this, and by design. Getting information about everything around you at every point will never be feasible unless GPUs have more transistors in them than there are atoms in the plants they're made in . Short of a raytracing/raycasting or even raycasting+rasterizer hybrid architecture, it won't ever happen. And quite frankly, I don't think the typical hardware manufacturer (read : nVidia) gives a damn -- or more accurately, they give a damn about making sure it doesn't happen.but that they're not per surface, even less so per triangle. when do we get to see self-reflections finally?
Considering rendering cost of updating cubemaps in your typical app is already optimized down to negligible little, lowlevel optimizations are all but irellevant in context of reflections(as we know them so far) anyhow.darkblu said:if the API does allow for good old-fashioned dynamic cubemaps in a reasonable manner this 'abstraction' buys me negligible little.
Specifically in reference to "multipass" culling - you can think of cubemap rendering analogous to predicated tiling, so yes, you can do similar optimizations on PS3/360 (though I imagine you'd do it at lower granularity then triangles).acert93 said:So my question: With the current hardware in the PS3 and Xbox 360 are there ways to speed up cube mapping?
I'm interested in what you consider a better reflection solution for "modern GPU's".
B/ modern..., well mainstream card gf256 (from 1999) does cubemap lookups thus hardly qualifies as modern, infact cubemaps are rather dated
Cube Maps are one way to do reflections on modern GPUs. From what I have read it can take 6 passes to do a cube map on current GPUs