I'm trying to use instancing to do VR rendering in OpenGL with 1 draw call, 2 instances (one for left eye, one for right eye). The vertex shader then translates the vertices left for instanceID 0 and right for instanceID 1. The only thing I need more is per-instance viewport for automatic hardware culling/clipping. This is doable in directX but is it in OpenGL?
Instanced-based VR rendering in OpenGL
1k Views Asked by Tuxer At
1
There are 1 best solutions below
Related Questions in OPENGL
- How to fix "Access violation executing location" when using GLFW and GLAD
- getting Access violation writing location when calling glDrawElements caused by shader
- Experimenting with GLFW library: window boundary problem and normalized coordinates
- OpenGL Framebuffer/FBO RTT subpixel movement discrepancy
- Why isn't my glfw window showing anything?
- How can glPushMatrix affect the rotation of an object around a rotating object?
- g++ / vscode apparently cannot see my src folder? "cc1plus.exe: fatal error: src/glad.c No such file or directory"
- Does addition-assignment cause dependency chain in GLSL?
- Compiling C++ program with Opengl and Glut in windows
- Using Silk.NET in WinForms
- What happens when rendering an OpenGL buffer that has been padded with NULL (or another value)?
- How can I make a sphere follow an eight-like path in Python using OpenGL?
- OpenGL only rendering second triangle, first triangle not visible
- OpenGL shows black texture on quad
- My Visual Studio 2022 consistently gives me errors saying that the GLchar variable type is undefined
Related Questions in VIRTUAL-REALITY
- I want to rotate WebXR Rectile towards walls
- Looking to access wide angle camera of smartphone while making an AR application using Vuforia
- Quest 3 device technical feasibility
- issue with random input latency on quest 3
- can't to save oculus spatial anchors (on cloud or locally)
- AR Plane Detection using Oculus Integration Unity SDK
- Voice SDK does not work on the Quest but does in Unity editor
- Meta Quest2/3 Unity SDK - How to get battery level info
- How drag and drop 2D UI elements of Canvas in OVR ray interactable?
- How to Drag Image on Canvas with Meta All-in-One SDK
- Ray interactor can't select a 3d Object
- Animating Entity in VisionOS based on mouse gesture?
- Time warping analysis from HMD's Data-Log
- The Pico unity openxr sdk is incompatible with openxr 1.9.1, but I can't downgrade the openxr version in the editor
- Delay in Passthrough Camera Feed in Unity Quest 3
Related Questions in GEOMETRY-INSTANCING
- access instancedMesh's sub-instance origin and tranform with pivot in three.js?
- multiDrawElementsInstancedWEBGL / select geometry to render using LOD
- How to draw selected instances with gl_InstanceID and glDrawElements...?
- How do I get the THREE.JS InstancedMesh working?
- How to use geometry-instancing in Bevy?
- DirectX - when to use instancing and when not?
- Updating instanced data with a compute shader
- WebGL2 instancing with UBO
- A strange bug about GPU Instancing on phones with android version 7.0 and below equipped Adreno
- How does the game Rust place Millions of Grass, Rocks, and Trees
- Can we use ThreeJs Helpers with InstancedMeshes?
- Opengl instanced batching
- OpenGL SSBO Instancing
- Is there a defined draw order for OpenGL instanced drawing?
- Qt3D - Instance rendering of 2 squares. PrimitiveType? InstanceCount?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Recently I was actually implementing instanced stereo rendering for VR and had the same problem. I had the choice of using geometry shader for instanced viewports but I didn't want the overhead it'd introduce. So, in the end I ended up shifting the perspective for each view and using a clip plane.
So that's probably what you're looking for, a clip plane. It's really simple to implement in a vertex shader too, you just pass the 'x' coord into gl_ClipDistance. https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/gl_ClipDistance.xhtml
Good luck