Liste des Groupes | Revenir à c arch |
On 8/3/2024 1:44 PM, Chris M. Thomasson wrote::^) Iirc, taking the screenshots per frame to create an image stack, well, it reduced the fps for my scene...On 8/2/2024 10:33 PM, Lawrence D'Oliveiro wrote:Yeah.On Fri, 2 Aug 2024 21:14:33 -0500, BGB wrote:>
>On 8/2/2024 8:35 PM, Lawrence D'Oliveiro wrote:>
>On Fri, 2 Aug 2024 17:18:17 -0700, Chris M. Thomasson wrote:>
>Taking a screen shot? glReadPixels is okay, right?>
That means grabbing the whole screen, regardless of what else it might
be showing, assuming your window it not occluded, and it further
assumes you have a screen to grab from. This kind of precludes running
the renderer as a batch, background process.
The glReadPixels call doesn't grab an image from the OS desktop, but
rather from one of the internal framebuffers associated with the OpenGL
context.
Still lousy performance, though. That is simply not considered a serious
usage scenario for OpenGL. And not for any other on-screen 3D API, as far
as I’m aware.
Afaict, it's fine for taking a snapshot. I used it to create the following animation as a series of frames:
>
Fractal Boom Box:
>
https://youtu.be/n13GHyYEfLA
If you want it for a screenshot or final rendered output, it is fine.
If you want to fetch images to feed back into textures, maybe not so great performance-wise, but if offline rendering and one doesn't have FBOs, it is fine...
Like, one doesn't need to try to hold 60 fps for their batch renderer or something.
Only obvious drawbacks I see is mostly:One can implement a raytracer in OpenGL for sure, not easy, but doable. I think DirectX 12 has support for it directly... Anyway, a fun part is using a fragment shader to do some distance estimated ray marching in the GPU. I remember that the PlayStation 3 had a "special version" of OpenGL. PS5 has something called GNMX. Never used it before.
One needs an OpenGL implementation (that works to some acceptable level);
It is not a raytracer, if one wants/cares about raytracing.
But, as I see it, which is "better" more depends on desired use-case:I think compute shaders can be used for some raytracing...
Want "photorealism" or a "realistic" look,
use a raytracer/path-tracer;
Want something cartoon like, rasterization makes sense.
And, as I see it, may actually be preferable in terms of aesthetics.
If you want bright, brightly colored, and glossy, rasterization gives this effect easily. If you want something dimly lit and "grungy", then raytracing is a good fit.
But, if one wants stylized cartoon-like humanoid characters in a raytraced setting, it looks a bit, off.
And, likewise, if one wants rasterization, OpenGL serves this use case well.
And, if you want a raytracer, look elsewhere.
Les messages affichés proviennent d'usenet.