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