Opengl 浮动缓冲区

发布于 2024-12-03 03:48:34 字数 97 浏览 1 评论 0原文

我正在编写我的第一个光线追踪器。我想让它实时工作。 我想用opengl来显示。 我想将屏幕写入浮点缓冲区并显示缓冲区。 我需要什么扩展和/或缓冲区类型?

提前致谢!

I'm writing my first ray tracer. I want to make it work in real-time.
I want to use opengl for display.
I want to write my screen to floating point buffer and display the buffer.
What extension and/or buffer type I need?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

海未深 2024-12-10 03:48:34

我正在编写我的第一个光线追踪器。我想让它实时工作。

雄心勃勃!

我想用opengl来显示。我想将屏幕写入浮点缓冲区并显示缓冲区。

OpenGL 可以直接从浮点缓冲区读取,例如

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_FLOAT, data);

,但 OpenGL 可以选择与您的选择相匹配的任何内部格式。 GL_RGB 内部格式可以是任何可以以某种方式存储 RGB 数据的格式。您可以具体说明您想要什么。例如,GL_RGB16 告诉 OpenGL 您想要每个通道 16 位分辨率。该实现可以选择每个通道使用 24 位,因为这允许存储 16 位。但最终实现会根据您对其施加的约束来决定它将采用哪种内部格式。

OpenGL 通过扩展 GL_ARB_texture_floatGLX_ARB_fbconfig_floatWGL_ARB_fbconfig_float 支持浮点帧缓冲区和纹理,但由于专利问题,并非所有 OpenGL 实现都实现它( ATI 和 NVidia 都这样做)。

I'm writing my first ray tracer. I want to make it work in real-time.

Ambitious!

I want to use opengl for display. I want to write my screen to floating point buffer and display the buffer.

OpenGL can read from float buffers directly, e.g.

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_FLOAT, data);

But OpenGL may choose any internal format that matches your selection. GL_RGB internal format can be anything that can somehow store RGB data. You can be specific about what you want. For example GL_RGB16 tells OpenGL you want 16 bits resolution per channel. The implementation may choose to use 24 bits per channel, as this allows for 16 bit to be stored. But ultimately the implementation decides, which internal format it will be, based on the constraints you put upon it.

Floating point framebuffers and textures are supported in OpenGL through extensions GL_ARB_texture_float, GLX_ARB_fbconfig_float, WGL_ARB_fbconfig_float, but due to patent issues not all OpenGL implementations implement it (ATI and NVidia do).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文