<p>We have a projector type display used in an automotive application, where a projector displays an application on the windshield.  Because the projector would normally warp a flat image, we have to counter this warping. The way we do this is:</p>

<ol>
<li>Render our content to a framebuffer</li>
<li>Apply that frame buffer as a texture on a special mesh that counteracts the warping from the projector.</li>
</ol>

<p>As we've found, the final stages of the rendering pipeline (rendering pixels to a framebuffer / and or screen) are often the biggest bottlenecks on embedded hardware.  </p>

<p>Is there any potential method we could use to reduce steps 1 and 2 to a single pass?  Essentially going through multiple projections, but without using intermediate frame buffers?</p>

CC BY-SA 4.0
2019-10-18T22:12:33.017Z
Yes, you can render directly your content onto your special warped mesh. If you could upload somewhere a sample of code that reproduces the same setup, it would be easier to help you.
wip
CC BY-SA 4.0
2019-10-21T19:35:23.307Z
@wip, I don't have any code, I'm just thinking theoretically.  A lot of times in computer graphics the algorithm is used 1) setup framebuffer, 2) render content to framebuffer, 3) apply framebuffer as texture on a mesh 4) render the mesh to the back buffer.

I'm just wondering if there is a theoretical way to achieve the same results without using framebuffer.
default
CC BY-SA 4.0
2019-10-24T12:21:14.137Z
Are you using OpenGL? Desktop? Use an image rather than a sampler. It prevents you from having to setup an fbo for the texture and mess with all that. Not sure if it would be better for you though.
Andrew Wilson
CC BY-SA 4.0
2019-10-24T15:22:29.193Z
Using opengl es 2.0.  What do you mean by "image"?
default
<opengl><projections><opengl-es>
How combine multiple projections into a single pass?
default
# How combine multiple projections into a single pass?

(Asked by: username_0 on 2019-10-14)

We have a projector type display used in an automotive application, where a projector displays an application on the windshield. Because the projector would normally warp a flat image, we have to counter this warping. The way we do this is:

1. Render our content to a framebuffer
2. Apply that frame buffer as a texture on a special mesh that counteracts the warping from the projector.

As we've found, the final stages of the rendering pipeline (rendering pixels to a framebuffer / and or screen) are often the biggest bottlenecks on embedded hardware.

Is there any potential method we could use to reduce steps 1 and 2 to a single pass? Essentially going through multiple projections, but without using intermediate frame buffers?

**Tags:** opengl, projections, opengl-es

> **Comments:**
> **username_1**: Yes, you can render directly your content onto your special warped mesh. If you could upload somewhere a sample of code that reproduces the same setup, it would be easier to help you.  
> **username_0**: @username_1, I don't have any code, I'm just thinking theoretically.  A lot of times in computer graphics the algorithm is used 1) setup framebuffer, 2) render content to framebuffer, 3) apply framebuffer as texture on a mesh 4) render the mesh to the back buffer.  I'm just wondering if there is a theoretical way to achieve the same results without using framebuffer.  
> **username_2**: Are you using OpenGL? Desktop? Use an image rather than a sampler. It prevents you from having to setup an fbo for the texture and mess with all that. Not sure if it would be better for you though.  
> **username_0**: Using opengl es 2.0.  What do you mean by "image"?  

---

## 0 answers

