Lasse Öörni
|
d99fefa68b
Create depth-stencil texture instead of renderbuffer on OpenGL 3 / Intel / Windows to work around a driver bug.
|
10 years ago |
Lasse Öörni
|
64600d5526
Enable GLEW experimental mode only on a 3.2+ context so that OpenGL 2 extensions can be checked strictly.
|
10 years ago |
Lasse Öörni
|
b8c7c59eca
Configure amount of allowed bones for hardware skinning based on the rendering API. Allow 128 bones on Direct3D 11 & OpenGL 3. Add -mb (maxbones) parameter to AssetImporter & OgreImporter. When using OpenGL 3, allow deferred rendering to use different MRT formats without forcing an RGBA substitute rendertarget.
|
10 years ago |
Lasse Öörni
|
81e6647b60
Clean up OpenGL Graphics class code. Use core functions for instancing on OpenGL 3. Do not enable/disable texture targets on OpenGL 3. Removed the framebuffer aging mechanism; instead framebuffers are cleaned up on context loss (resolution change.) Disable OpenGL constant buffer use by default (from Uniforms.glsl) as they were found to be slower in practice.
|
10 years ago |
Lasse Öörni
|
7716b4860c
Use a reinterpret-cast trick to eliminate code duplication from Graphics::SetVertexBuffers(). Removed D3DCOMPILER_STRIP_PRIVATE_DATA flag as it may be undefined when compiling using the DirectX SDK.
|
10 years ago |
Lasse Öörni
|
f4dc0bf149
If GL3 context creation fails, retry with GL2.
|
10 years ago |
Lasse Öörni
|
227b2b03dc
Fix / simplify GL3 or GL2 detection.
|
10 years ago |
Lasse Öörni
|
88b05c738f
Remember shader parameter sources inside individual ShaderPrograms to reduce redundant uniform assignments.
|
10 years ago |
Lasse Öörni
|
42963a7300
Keep track of last bound VBO & UBO to avoid redundant binding.
|
10 years ago |
Lasse Öörni
|
040b6263f5
Fix crash with null constant buffer slots.
|
10 years ago |
Lasse Öörni
|
2cefd437de
Check if shader uses uniforms outside buffer and invalidate all parameter groups in that case, when switching shaders. Add define in Uniforms.glsl which allows to disable constant buffers on OpenGL 3, as using them may actually be slower.
|
10 years ago |
Lasse Öörni
|
0e5a05afc7
OpenGL 3 constant buffer support.
|
10 years ago |
Lasse Öörni
|
5fd6d42159
Use core functions for FBO operations when using OpenGL 3.
|
10 years ago |
Lasse Öörni
|
006c17f78e
Added command line & engine startup option to disable OpenGL 3.
|
10 years ago |
Lasse Öörni
|
992cbcc73f
Fix GLSL deprecation warnings. OpenGL 3 clip plane support. Use R32F format on OpenGL 3 for deferred linear depth instead of manual RGB encoding & decoding.
|
10 years ago |
Lasse Öörni
|
07a75dc37b
Initial OpenGL 3.2 support.
|
10 years ago |
Lasse Öörni
|
c833b34b7a
Remove Graphics::SetDrawAntialiased() as it does not help the situation it was created for (blurred UI rendering on Nvidia 16x multisampling on OpenGL) and it cannot be implemented on D3D11.
|
10 years ago |
Lasse Öörni
|
876d1834eb
Add D3D11 sampler states. Fix crash on empty vertex declaration. Fix Matrix3x3 uniforms on D3D11. Modify gpuObjects_ to PODVector.
|
10 years ago |
Lasse Öörni
|
48483ac07c
Reduce number of distinct shader parameter groups to prepare for mapping them to constant buffers.
|
10 years ago |
Lasse Öörni
|
3685373e77
Do not store window position in fullscreen mode; would be 0,0 and position the window to hard top-left after switching back to windowed.
|
10 years ago |
Lasse Öörni
|
6e6c39c5a8
Add a ShaderProgram class also for D3D9, which holds the combined shader parameters. Cleaned up ShaderProgram handling on OpenGL. Optimized away repeated assignment of constant values from D3D9 SetShaderParameter().
|
10 years ago |
Lasse Öörni
|
9f129ecd51
Merge branch 'master' into render-refactor
|
10 years ago |
Lasse Öörni
|
9a98779ae9
Remove StreamFrequency related functions from Graphics public API as unnecessary.
|
10 years ago |
Lasse Öörni
|
51c80107e9
Removed debug log prints from OGLGraphics.cpp. Fixed build warnings.
|
10 years ago |
Lasse Öörni
|
88080dad31
Remove Shader Model 2 mode & instancing without stream offset (D3D9) as they are hard to test. Added Graphics::GetApiName() function.
|
10 years ago |
Lasse Öörni
|
56f64c60b9
Texture unit refactoring. On desktop ensure continuous range of 8 material texture units, while mobile has 5. Material can define a volume (3D) texture in the volume unit (desktop only.)
|
11 years ago |
Lasse Öörni
|
6be3b14855
Merge branch 'master' into render-refactor
|
11 years ago |
Lasse Öörni
|
84b5a2de5f
Shadow support on Emscripten. For now same capability as on mobiles; no cascaded shadow map.
|
11 years ago |
t
|
5d92f18b46
engine source changes for emscripten
|
11 years ago |
Lasse Öörni
|
b96f47db61
Change order of matrix multiplies in GLSL to eliminate need to transpose matrix uniforms and make the order consistent with skinned & instanced rendering.
|
11 years ago |