Commit graph

107 commits

Author SHA1 Message Date
Jeff Hutchinson
4cf6a30e05 cleanup 2016-03-25 13:44:22 -04:00
Jeff Hutchinson
6e692ea9cf torque windows integration of epoxy 2016-03-25 13:41:38 -04:00
rextimmy
8667bd3ca2 GL floating point format fix. 2016-03-21 22:49:47 +10:00
rextimmy
41e5caf22b Direct3D11 Engine/source changes 2016-03-20 21:52:11 +10:00
Areloch
908be4818f Merge pull request #1519 from Azaezel/deferredShading
Deferred shading
2016-02-27 15:08:20 -06:00
Anis
a31dea224c Merge pull request #1525 from TheDushan/ImmutableBuffers
Added immutable vertex and index buffers.
2016-02-25 15:38:07 +01:00
Anis
740c999c19 compile fix 2016-02-25 15:26:52 +01:00
Anis
f39f7a80c8 Update gfxGLDevice.cpp 2016-02-25 15:26:25 +01:00
Dušan Jocić
28d303c5ea Added immutable vertex and index buffers. 2016-02-20 21:28:18 +01:00
Anis
6a2d394d90 Merge pull request #1348 from hpvb/intel-mesa-compile-fix
Fix running on Linux / Intel Mesa drivers
2016-02-20 14:50:22 +01:00
Azaezel
8c5810adad The final step (barring any overlooked missing bits, requested refactors, and of course, rolling in dependencies already submitted as PRs) consists of:
renderPrePassMgr.cpp related:
A) shifting .addFeature( MFT_XYZ); calls from ProcessedShaderMaterial::_determineFeatures to ProcessedPrePassMaterial::_determineFeatures
B) mimicking the "// set the XXX if different" entries from RenderMeshMgr::render in RenderPrePassMgr::render
C) fleshing out ProcessedPrePassMaterial::getNumStages() so that it shares a 1:1 correlation with ProcessedShaderMaterial::getNumStages()
D) causing inline void Swizzle<T, mapLength>::ToBuffer( void *destination, const void *source, const dsize_t size )  to silently fail rather than fatally assert if a source or destination buffer is not yet ready to be filled. (support for #customTarget scripted render targets)

Reflections:
A) removing reflectRenderState.disableAdvancedLightingBins(true); entries. this would otherwise early out from prepass and provide no color data whatsoever.
B) removing the fd.features.addFeature( MFT_ForwardShading ); entry forcing all materials to be forward lit when reflected.
C) 2 things best described bluntly as working hacks:
C1) when reflected, a scattersky is rotated PI along it's z then x axis in order to draw properly.
C2) along similar lines, in terraincellmaterial, we shut off culling if it's a prepass material.

Skies: scattersky is given a pair of rotations for reflection purposes, all sky objects are given a z value for depth testing.
2016-02-16 02:50:49 -06:00
Anis
e2d789e87d Update gfxGLTextureTarget.cpp 2016-01-18 06:17:20 +01:00
Anis
ca31ef3f1a Update gfxGLWindowTarget.cpp 2016-01-18 06:15:07 +01:00
Anis
500a237892 Update gfxGLWindowTarget.h 2016-01-18 05:56:00 +01:00
Anis
c3ef59e39c Update gfxGLWindowTarget.cpp 2016-01-18 05:55:48 +01:00
Anis
0728282287 Update gfxGLTextureTarget.cpp 2016-01-18 05:55:36 +01:00
Anis
58a604d363 Update gfxGLCircularVolatileBuffer.h 2016-01-18 05:49:05 +01:00
Jeff Hutchinson
4baf410b4f remove GL_EXT_gpu_shader4 2015-09-22 00:57:40 -04:00
Azaezel
1df7e47a89 From @LuisAntonRebollo -Stymies infinite loop on exit with SDL2+opengl on windows. 2015-08-13 15:34:41 -05:00
Hein-Pieter van Braam
eadd77272d Add @Azaezel's exception for Win32
"This chunk causes issues on the win8.1/non-SDL side."
2015-07-30 22:18:01 +02:00
Hein-Pieter van Braam
320718327f Actually generate a working string for glewGetExtension()
I don't know how to 'C' apparently.
2015-07-30 22:18:00 +02:00
Hein-Pieter van Braam
08622e9601 Use different extension detection mechanism
I got this from looking at the code from the glew utility 'glewinfo' on my system it reported the following for GL_ARB_geometry_shader4:  OK [MISSING]. This lead me to believe that there are two different ways of determining extensions. The first 'OK' seems to refer to the entrypoint existing while the second one seems to refer to the extension being available.

The difference is this:
The first OK comes from : GLEW_ARB_geometry_shader4 the global whereas the second 'MISSING' comes from glewGetExtension("GL_ARB_geometry_shader4"). By replacing the gglHasExtension I got the desired result.

We may want to implement some caching if we want to keep using GLEW perhaps?

Anyway I suggest this merely as a test, I'm not sure if this is a viable long-term solution.
2015-07-30 22:18:00 +02:00
Hein-Pieter van Braam
5d91cf90b3 Fix running on Linux / Intel Mesa drivers
* Explicitly request a GL 3.2 context
* Enable 'experimental' extensions on glew (This appears necessary to get glew to work with explictly set GL versions)
2015-07-30 22:18:00 +02:00
rextimmy
b5f8e9aa70 gfxGLDevice setShader fix. 2015-06-15 21:10:49 +10:00
LuisAntonRebollo
e6b7cf108b Fix GLSL include when file is empty. 2015-03-08 23:25:23 +01:00
Daniel Buckmaster
497a15cfd0 Merge pull request #1214 from bpay/cppcheck-cleaning
Fix some issues flagged by cppcheck
2015-03-01 18:27:40 +11:00
Daniel Buckmaster
905dd50d36 Merge pull request #980 from Azaezel/gl_debug_callbacks
opengl error reporting formatting
2015-02-22 12:24:30 +11:00
Ben Payne
0ffd7f5620 Fix member vars left uninitialized in constructors 2015-02-20 18:41:51 -05:00
Luis Anton Rebollo
098fa19abb Merge pull request #1014 from Lopuska/patch-1
vSync on opengl
2015-02-15 23:02:32 +01:00
Azaezel
43e0826308 reordered by request 2015-02-12 14:47:39 -06:00
Azaezel
02de4658e5 nvidia nsight debugger support.
requires defining the TORQUE_NSIGHT_WORKAROUND preprocessor macro
2015-02-12 14:31:10 -06:00
LuisAntonRebollo
52d8aa3a97 Remove a get* OpenGL function causing CPU-GPU sync point (bad performance). 2015-01-26 01:56:13 +01:00
LuisAntonRebollo
4e9034854d Linux implementation. Include changes for gcc x64. 2015-01-24 22:08:26 +01:00
Anis
ee4f0df69a Update gfxGLDevice.win.cpp 2015-01-19 17:44:48 +01:00
LuisAntonRebollo
aa35157eef PlatformSDL implementation. 2015-01-19 01:17:37 +01:00
Luis Anton Rebollo
39bd99a61a Merge pull request #1056 from Lopuska/patch-12
mipmap support on OpenGL cubemap
2014-12-27 03:18:16 +01:00
LuisAntonRebollo
6789270789 OpenGL: Mipmaps for GFXGLCubemap. Fix dynamic cubemaps. 2014-12-27 03:03:33 +01:00
LuisAntonRebollo
c2c9cf4a2d OpenGL: Mipmaps for GFXGLCubemap. Fix compressed textures. 2014-12-27 00:01:21 +01:00
LuisAntonRebollo
2f8f89d486 OpenGL: Mipmaps for GFXGLCubemap. Fix mipmaps size. 2014-12-26 21:28:31 +01:00
LuisAntonRebollo
9150c7f5ab OpenGL: Mipmaps for GFXGLCubemap. 2014-12-26 21:03:54 +01:00
Anis
ca04726ad6 glGenerateMipmap on uncompressed cubemap 2014-12-16 15:14:30 +01:00
Anis
0cf36a8906 mipmap support on DDS for openGL cubemap 2014-12-15 18:59:42 +01:00
LuisAntonRebollo
d000a1e7c5 OpenGL Intel - Workaround for warning spam or even crash with actual framebuffer code, remove when implemented TGL layer. 2014-12-11 01:20:39 +01:00
Anis
1a76341049 Update gfxGLDevice.cpp 2014-12-06 20:46:27 +01:00
Anis
2165266ff4 revert vsync on reset changes 2014-12-06 20:44:47 +01:00
Anis
005f322a94 vsync update on reset settings 2014-12-06 19:41:00 +01:00
Anis
b444cabe4d vSync on opengl 2014-12-06 19:32:38 +01:00
LuisAntonRebollo
d49018df63 Fix GLCircularVolatileBuffer incorrect binding. 2014-12-05 22:56:22 +01:00
LuisAntonRebollo
4409a12af6 Fix GLSL out fragment shader color. 2014-11-30 05:32:40 +01:00
LuisAntonRebollo
a4bf61f07b Fix x64 builds. 2014-11-30 04:00:58 +01:00