Commit graph

78 commits

Author SHA1 Message Date
Robert Beckebans
485417ab41 Removed obsolete sdl_qgl.cpp and fixed some compile errors 2014-05-10 15:29:59 +02:00
Robert Beckebans
08cacdfe17 Added utility functions for dmap 2014-05-10 15:03:06 +02:00
Robert Beckebans
277964f074 Because I can :)
- Implemented soft shadows using PCF hardware shadow mapping

  The implementation uses sampler2DArrayShadow and PCF which usually
  requires Direct3D 10.1 however it is in the OpenGL 3.2 core so it should
  be widely supported.
  All 3 light types are supported which means parallel lights (sun) use
  scene independent cascaded shadow mapping.
  The implementation is very fast with single taps (400 fps average per
  scene on a GTX 660 ti OC) however I defaulted it to 16 taps so the shadows look
  really good which should you give stable 100 fps on todays hardware.

  The shadow filtering algorithm is based on Carmack's research which was
  released in the original Doom 3 GPL release draw_exp.cpp.

- Changed interaction shaders to use Half-Lambert lighting like in HL2 to
  make the game less dark

- Fixed some of the renderer debugging/development tools like r_showTris
2014-05-10 14:40:01 +02:00
RobertBeckebans
e1661f8cde Merge branch 'master' into glew 2014-04-30 12:05:30 +02:00
RobertBeckebans
6b2793ed6a Removed null characters from RenderProgs_embedded.h 2014-04-28 11:29:11 +02:00
RobertBeckebans
cacf1bb46b Embedded Cg renderprog sources into the renderer using Lua/Premake. Now the renderer can export the renderprogs to any GLSL version without having the user to copy the renderprogs/* shaders to the Doom 3 BFG installation directory. fixes #95 2014-04-26 14:13:25 +02:00
RobertBeckebans
60ccf3567b Merge branch 'master' into glew 2014-04-25 20:24:30 +02:00
RobertBeckebans
055cc09c8b GLEW fixes 2014-04-25 20:23:34 +02:00
Robert Beckebans
d326d49cf0 Merge pull request #93 from dekadenZ/fix-renderer-string-cmp
Fix length error in prefix comparison
2014-04-25 11:07:12 +02:00
dekadenZ
20e5cf5ae2 Fix length error in prefix comparison 2014-04-25 02:39:49 +02:00
Robert Beckebans
8943a6d4a2 Fixed FFmpeg video timings and crashes. Also fixes the black screen problem with Ubuntu 14.04 #92 2014-04-21 23:56:46 +02:00
RobertBeckebans
8018378c3c Merge branch 'master' into glew
Conflicts:
	neo/renderer/OpenGL/glext.h
	neo/renderer/OpenGL/qgl.h
	neo/renderer/OpenGL/wglext.h
	neo/renderer/RenderProgs.cpp
	neo/renderer/RenderProgs_GLSL.cpp
	neo/renderer/RenderSystem_init.cpp
	neo/renderer/tr_backend_draw.cpp
	neo/sys/win32/win_qgl.cpp
2014-04-21 15:01:50 +02:00
RobertBeckebans
b0b0d8ed76 gfxInfo Typo 2014-04-20 17:55:03 +02:00
Robert Beckebans
a8cda090c1 Disabled timing queries when using the Mesa driver #90 2014-04-20 17:50:37 +02:00
Robert Beckebans
3b19aa7991 Added glConfig.vendorType settings for Linux and disabled unused shaders. #90 2014-04-20 17:20:50 +02:00
RobertBeckebans
cce21e0d76 Added GLSL ES 1.0 backend for Mesa drivers #90 2014-04-20 16:29:58 +02:00
Robert Beckebans
1115b52dd2 Fixed another crash in cinametic code. Now it should be stable 2014-04-11 10:28:53 +02:00
RobertBeckebans
647a3ebad8 Fixed crashes in cinematic code 2014-04-06 12:15:27 +02:00
RobertBeckebans
899982b0b2 Made FFmpeg optional and fixed potential crashes 2014-04-06 11:38:38 +02:00
Robert Beckebans
1e443f6857 Bink support on Linux with CMake 2014-04-05 17:38:42 +02:00
RobertBeckebans
730a1f2baa Merged FFmpeg Bink video support from DOOM-3-BFG-VR fork 2014-04-05 15:41:19 +02:00
Andreas Bergmeier
f66591f244 Force format invocations to be correct (on gcc and clang) and fix them. 2014-02-23 19:16:23 +01:00
Robert Beckebans
a315630d7d Changed astyle-code.sh script to use the system astyle which is 2.03 on Kubuntu 13.10 2014-02-23 15:19:11 +01:00
RobertBeckebans
7b6ceb48c8 Formatted code with AStyle 2014-02-18 11:57:59 +01:00
Andreas Bergmeier
a7b258ac2b Fix multiple compiler warnings and properly handle st_lwPolygon::surf for 64bit.
Changed surf member to now be a union of a intptr_t index and a lwSurface*.
Index member has to be signed to prevent overflow (by assigning a possibly negative short).
For most platforms, sizeof(int*) should be the same as sizeof(lwSurface*), though this might still be a race condition.
2014-02-17 14:22:01 +01:00
Robert Beckebans
573905e295 Compile fix 2014-01-09 17:53:30 +01:00
Robert Beckebans
7690fb4b8e Merge branch 'master' into glew
Conflicts:
	neo/renderer/OpenGL/glext.h
	neo/renderer/RenderSystem_init.cpp
2013-12-24 15:49:06 +01:00
Jonathan Young
bb2e41b5d7 Added r_useVirtualScreenResolution cvar to control whether to do 2D rendering at 640x480 and stretch to the current resolution (default), or render at the current resolution. 2013-09-21 22:12:42 +10:00
Jonathan Young
b3983e582a astyle 2013-09-21 19:37:12 +10:00
Jonathan Young
4c7a2c5de3 Prioritize source SWF and image (for SWF atlas) files over their binary equivalents in resources files when not in production mode. Now you can replace individual menus without having to extract and delete all the base/*.resources files first. 2013-09-21 19:35:00 +10:00
Jonathan Young
a1776a22d0 r_vidMode sanity check was off by 1. 2013-09-18 12:39:31 +10:00
Daniel Gibson
9372fddabb Fix compile when system GLDEBUGPROCARB signature is without const
.. by just casting our DebugCallback to GLDEBUGPROCARB.
It shouldn't make a difference ABI-wise, if there is a const at
a parameter or not.

Fixes #61
2013-08-31 19:23:45 +02:00
Robert Beckebans
d3ddf61d9c Changed signature of GLDEBUGPROCARB to match OpenGL GL_ARB_debug_output specs 2013-08-29 09:38:52 +02:00
Robert Beckebans
db715535cc Merged generic C++ fallbacks for SSE optimized code to allow support for non-x86 based platforms like ARM 2013-06-01 15:13:00 +02:00
Robert Beckebans
e510691c36 Changed model loader to not generate binary files for defaulted models. closes #39 2013-05-24 19:27:18 +02:00
Robert Beckebans
fe22638fdd Merge branch 'master' into glew and fixed a crash on Intel HD drivers 2013-04-23 00:43:00 +02:00
Robert Beckebans
aefa4ac6e3 Merge branch 'master' into glew and fixed a crash on Intel HD drivers 2013-04-23 00:41:54 +02:00
Robert Beckebans
e7ffc153c2 Added back workaround in RB_DrawElementsWithCounters 2013-04-10 02:40:09 +02:00
Robert Beckebans
d176bca1e7 Fixed critical out of bounds bug in RB_DrawShaderPasses() 2013-04-10 02:13:27 +02:00
Daniel Gibson
3c755e490b change threadnames so they fit into 15chars
+ terminating null byte - that's the limit of threadnames on linux

Furthermore: idJobThread::Start used va() to create the threadname.
va() isn't threadsafe... so I replaced it with a local buffer and
idStr::snPrintf()
2013-03-26 00:36:04 +01:00
Robert Beckebans
75f7fa3aa8 Removed obsolete old renderer SMP code 2013-03-23 21:33:40 +01:00
Daniel Gibson
e2359ba333 Add CVar r_displayGLSLCompilerMessages to suppress AMD driver warnings
The AMD drivers output a lot of useless warnings when compiling the shaders.
Those are pretty annoying, especially as idRenderProgManager::LoadGLSLShader
prints out the whole shader with them..
So I added this CVar to suppress them (when it's set to 0)
2013-03-17 23:35:12 +01:00
Robert Beckebans
c038a836f2 Merge branch 'master' into glew 2013-01-14 17:33:25 +01:00
Daniel Gibson
d6c32cd49b Support resizing windows + improve fullscreen for SDL2
By implementing GLimp_SetScreenParms() and enhancing the
event handling
2013-01-04 14:40:35 +01:00
Daniel Gibson
478d7e4f6e Workaround for erebus1 crash in debug mode on Linux 2012-12-30 16:24:12 +01:00
Daniel Gibson
876aa96637 Fix messed up view angle after taking screenshots
Pretty much like https://github.com/dhewm/dhewm3/issues/18
but here it took some more changes
2012-12-23 06:43:20 +01:00
Daniel Gibson
ba126dde3a Fixed various warnings from clang 2012-12-23 06:40:47 +01:00
Robert Beckebans
dd9b8a8710 Added support for precompiled headers for MSVC which reduced the compiled time from 4 minutes to 67 seconds. 2012-12-22 16:18:19 +01:00
Robert Beckebans
f57d92a1ab Renamed RBDoom3 to RBDoom3BFG 2012-12-19 15:23:57 +01:00
Daniel Gibson
4863f11607 Fix bug in vidMode_t constructor
it caused the default/static video mode list to contain only garbage
2012-12-18 22:49:22 +01:00