Commit graph

74 commits

Author SHA1 Message Date
Areloch 27afd2ded1 Resolves the "conflict" with #1598 2016-06-08 09:39:11 -05:00
Jeff Hutchinson e43a0ba6e9 Merge branch 'development-gg' into glpboimprovement
Conflicts:
	Engine/source/gfx/gl/gfxGLTextureManager.cpp
2016-06-07 15:48:21 -04:00
Azaezel 75fa06dec2 Merge branch 'development' of https://github.com/GarageGames/Torque3D into FrameMallocMallet
Conflicts:
	Engine/source/gfx/gl/gfxGLTextureManager.cpp
2016-06-06 01:20:23 -05:00
Areloch f66a14c6e1 Merge pull request #1599 from JeffProgrammer/glprofiling
Added missing OpenGL profiling blocks.
2016-05-24 01:26:39 -05:00
Jeff Hutchinson 909109713d redefined the copyToBMP 2016-05-06 23:45:48 -04:00
Jeff Hutchinson db6d91925d Added profile blocks for GL. 2016-05-06 23:44:41 -04:00
Jeff Hutchinson a50600afaa tabs->spaces for TRON :) 2016-05-06 22:57:35 -04:00
Jeff Hutchinson 30f0a9c5f9 replaces GL_PIXEL_UNPACK_BUFFER_ARB with GL_PIXEL_UNPACK_BUFFER 2016-05-06 22:05:32 -04:00
Jeff Hutchinson f9b2aa397f cache OpenGL extensions that are not part of the 3.3 core profile, and that run more than initialization setup. 2016-05-06 21:50:11 -04:00
Jeff Hutchinson a216b4515b remove old legacy extensions that aren't being used. 2016-05-06 21:24:52 -04:00
Azaezel 5a27313e14 removes FrameAllocatorMarker usage from GL side _fastTextureLoad
Repeatedly caused issues with 4096^2 atlases
2016-05-06 19:35:40 -05:00
rextimmy 8056a4bfa9 GL fix for Epoxy and creating a 3.2 core context with win32 api. 2016-05-05 22:25:34 +10:00
Jeff Hutchinson fddc00b39b Merge branch 'development-gg' into epoxy 2016-04-17 23:59:42 -04:00
Areloch b23ac9fb6a Removes some unnecessary extension checks for GL, as those formats are part of 3.2 core. SDL is having some conflicts with extension detection with GL. 2016-04-08 15:34:02 -05:00
Areloch 6a40b8bb84 Merge pull request #1559 from rextimmy/dx11_clean
Direct3D11 Support
2016-03-29 00:51:23 -05:00
rextimmy 12621f876b Added GFXFormatR8G8B8A8_SRGB format. 2016-03-28 10:05:16 +10:00
Jeff Hutchinson 7317848080 epoxy GLX extension interface 2016-03-25 21:03:01 -04:00
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