I'm trying to wrap my GL calls in external functions and classes. So, this brings up a question for setting uniforms for my shaders: is glGetUniformLocation a slow operation? If so, will using an std::map to store the uniform indices indexed by the names of the uniforms in strings be slower or faster? I'm trying to avoid coding in the uniforms statically (i.e. with macros or such)
Which is faster: calling glGetUniformLocation or using std::map?
1.8k Views Asked by chbaker0 At
1
There are 1 best solutions below
Related Questions in C++
- C++ using std::vector across boundaries
- Linked list without struct
- Connecting Signal QML to C++ (Qt5)
- how to get the reference of struct soap inherited in C++ Proxy/Service class
- Why we can't assign value to pointer
- Conversion of objects in c++
- shared_ptr: "is not a type" error
- C++ template using pointer and non pointer arguments in a QVector
- C++ SFML 2.2 vectors
- Lifetime of temporary objects
- I want to be able to use 4 different variables in a select statement in c ++
- segmentation fault: 11, extracting data in vector
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- How can I print all the values in this linked list inside a hash table?
- Configured TTL for A record(s) backing CNAME records
Related Questions in 3D
- Is there a way to import Collada files into Java?
- 3d mouse aim camera 3rd person vertical C#
- 3D B-Spline approximation
- MatLab 3-vector plot/mesh with colour-scale
- Matplotlib 3d: surface does not cover a line
- Draw a sphere on a billboard with world normal from a pointlist
- babylon skybox from hell
- Create histogram
- How to get accurate 3D depth from 2D screen mouse click for large scale object in OpenGL?
- Custom WhirlyGlobe Skin
- Converting 2D images to 3D
- How to setup camera to point at object
- Finding 3D coordinate of object
- MATLAB 3D sliding window on a volume
- How to check for collisions in ThreeJS?
Related Questions in GLSL
- How to get shader version from QOpenGLShader?
- Tesselation result flickering - OpenGL/GLSL
- Water rendering in opengl
- Should Meshes with and without Skeleton use different Shaders?
- PBO Indexed Color Texture Rendering with Palette in Fragment Shader not working
- Modern GLSL ( opengl 3+ ) : Implementing phong effect correctly;
- Passing grayscale OpenCV image to an OpenGL texture
- OpenGL / weight order independent transparency
- GLSL: How to calculate fragments output RGB value based on Photoshops curve value?
- Fragment shader does not show any colour when compiled with vs2013
- How to access all vertexes within the same patch in Tessellation Control Shader
- OpenGL GLSL: How to implement the concept of gradient map in photoshop using fragment shader?
- Ambient and Specular lighting not working correctly in GLSL
- How to debug transforms in glsl vertex shaders in lwjgl
- Blender GLSL Export to THREE.js
Related Questions in OPENGL-3
- How to get accurate 3D depth from 2D screen mouse click for large scale object in OpenGL?
- Modern GLSL ( opengl 3+ ) : Implementing phong effect correctly;
- Shadow not rendered correctly
- OpenGL: Strange bahaviour of VBO deletion?
- Represent 2D array in opengl 4.5
- Confused with OpenGL 3+ Core functions and Extensions
- How to decrease first person shooting camera object in OpenGL
- Debuging OpenGL 3.0 without direct API ( aka glBegin() ... )
- Undefined reference to symbol 'glFrontFace'
- Moving and looking around with camera conflicts
- Precision of glReadPixels when reading unsigned int
- OpenGL 3.3 glDrawArrays for triangles
- Load obj files and draw other figures inside a cube with size 1 - java opengl
- Issue when drawing on a render texture. (OpengGL 3.3)
- Is it possible to draw anything in OpenGL 3+ without writing GLSL shaders? Will it run on older computers?
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 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?
Only call
glGetUniformLocationonce when you compile/load the shader, and then cache the result yourself; using it in-frame will cause stalls as most drivers don't implement this as a hotpath and will wait for any queued pipeline operations to complete before executing (this goes for mostglGetfunctions, never call these in-frame, call them once and cache the result yourself).