From: Gerrit V. <vo...@ca...> - 2004-11-25 05:24:19
|
Hi, On Thu, 2004-11-25 at 03:23, Matthias Biedermann wrote: > Hallo Jan, >=20 > ich habe zwar leider keine L=F6sung f=FCr dieses seltsame Verhalten, ab= er=20 > ich experimentiere selbst gerade damit, mit OpenSG in einen pbuffer zu=20 > rendern; in meinem Fall ben=F6tige ich die ungeclampten float-Werte auf= =20 > der CPU (f=FCr weitere, nicht shader-taugliche Berechnungen). Nur bishe= r=20 > bekomme ich nicht wirklich viel von meiner HDR-Umgebung zu sehen, spric= h=20 > die Werte sind entweder "garbage" oder auf [0,1] geclampt. Liegt wohl=20 > sicherlich daran, dass mir daf=FCr das ausreichende OpenSG-Wissen fehlt= ,=20 > da Andreas Zieringer mir schonmal gemailt hatte, dass er pbuffer=20 > erfolgreich einsetzt (jedoch LDR...). >=20 > Wie bekommst du die Originalwerte in den pbuffer gerendert, ohne dass=20 > sie vom normalen OpenSG-Renderingprozess geclampt werden? Welche Art vo= n=20 > Fenster/Viewport/Background/RenderAction verwendest du dabei? Benutzt d= u=20 > dazu Tools wie RenderTexture oder so? Liefert ein glReadPixels() mit=20 > GL_FLOAT wirklich ungeclampte Werte, bzw. was gibt's f=FCr Alternativen= ,=20 > um die HDR-floats "as is" auf die CPU zu bekommen. (Die geringe=20 > Performance von glReadPixels wird durch die wenigen Daten (max. 64x64x6= =20 > Cubemap) wieder relativiert). >=20 > Fragen =FCber Fragen...aber du kannst da sicher etwas (HDR)-Licht ins=20 > Dunkel bringen...;) > Schonmal besten Dank f=FCr Tipps aller Art! small comments, without having it tried with OpenSG directly, in order to get glReadPixel to return full floating point values, as I don't think OpenSG is going to clamp values internally. First of all you have to have a floatingpoint framebuffer, IIRC every framebuffer config that can be rendered will be clamped.=20 Normally this should be enough to get floating point values out, just try to render a simple quat with a fragment program writing -42 values in the framebuffer to see if you can get them back. I'll try to get one of my simple examples running with OpenSG so that you can get it as a starting point. regards, gerrit |