Christoph Oelckers
a936629cec
- use default fragment shader for burn and stencil shader, with the time consuming parts disabled by a #define, to avoid code duplication.
2014-07-10 10:33:07 +02:00
Christoph Oelckers
e691341541
Merge branch 'master' of https://github.com/rheit/zdoom
2014-07-09 09:16:30 +02:00
Christoph Oelckers
e1729a9ec2
- fixed compilation with VC++2005 solution.
...
hu_stuff.h defined some callbacks for qsort without STACK_ARGS which causes problems with this solution's Release setting which uses __fastcall calling convention.
2014-07-09 09:15:51 +02:00
Chris Robinson
1aaaac900d
Merge remote-tracking branch 'zdoom/master' into openal
2014-07-01 22:14:49 -07:00
Edoardo Prezioso
d83f048858
- Miscellaneous CMakeLists.txt fixes.
...
- fixed a CMake warning about uninitialized use of the variable CROSS_EXPORTS in the tools subfolder when CMAKE_CROSSCOMPILING is off;
- fixed a variable typo: CMAKE_CURRENTY_BINARY_DIR instead of CMAKE_CURRENT_BINARY_DIR;
- in src/CMakeLists.txt, fixed a missing merge of a portion of code from maint branch to master.
2014-07-01 19:13:05 +02:00
Christoph Oelckers
92185f96eb
- fixed overflow with storing a sprite's dynamic light color in a PalEntry.
2014-07-01 09:52:41 +02:00
Christoph Oelckers
9a6bc64381
- use vertex array objects to manage vertex buffers.
2014-07-01 00:51:02 +02:00
Christoph Oelckers
5ee626459d
- use model vertex buffer to render voxels.
2014-06-30 18:57:24 +02:00
Christoph Oelckers
f710518903
- use a uniform array to store vertex data to render dynamic stuff on GL 3.x hardware without the ARB_buffer_storage extension.
...
Due to the way the engine works it needs to render a lot of small primitives with frequent state changes.
But due to the performance of buffer uploads it is impossible to upload each primitive's vertices to a buffer separately because buffer uploads nearly always stall the GPU.
On the other hand, in order to reduce the amount of buffer uploads all the necessary state changes would have to be saved in an array until they can finally be used. This method also imposed an unacceptable overhead.
Fortunately, uploading uniform arrays is very fast and doesn't cause GPU stalls, so now the engine puts the vertex data per primitive into a uniform array and uses a static vertex buffer to index the array in the vertex shader.
This method offers the same performance as immediate mode but only uses core profile features.
2014-06-30 18:10:55 +02:00
Christoph Oelckers
6efefd9b7f
- use vertex buffer to render MD3 models.
2014-06-30 18:02:52 +02:00
Christoph Oelckers
54297acde4
- removed obsolete gl_lightbuffer code.
...
This never worked properly and by now far better options are available to solve the problem of dynamic light data uploads.
2014-06-30 13:30:10 +02:00
Christoph Oelckers
9c5cec0056
- draw wipes with buffers
...
Only two things left that still use immediate mode directly: MD3 models and voxels.
2014-06-30 10:05:15 +02:00
Christoph Oelckers
1efc2938b7
- implement model vertex buffer and draw MD2 models using it instead of using the GLCommands from the model.
2014-06-29 23:24:16 +02:00
Christoph Oelckers
dd05e564cf
- this needed more fixes...
2014-06-29 14:32:50 +02:00
Christoph Oelckers
2cd1118aad
Merge branch 'master' into Glew_Version_For_Real
2014-06-29 14:11:03 +02:00
Christoph Oelckers
a33b49c2c2
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-29 14:09:55 +02:00
Christoph Oelckers
9d1dbf4eab
- fixed: FBufferedUniform1f didn'T work because it used an int as its buffered value.
2014-06-29 14:08:44 +02:00
Christoph Oelckers
d0e551060d
- fixed: When the 3D floor init code was updated 5 years ago for Vavoom's latest changes to its 3D-floor implementation it accidentally set the 3D-floor's alpha as its desaturation.
2014-06-29 12:50:42 +02:00
Christoph Oelckers
ffcb6cb70a
- added second vertex coordinate attribute for model interpolation.
2014-06-29 11:00:21 +02:00
Christoph Oelckers
08054ddc34
Merge branch 'master' into Glew_Version_For_Real
2014-06-29 08:53:43 +02:00
Chris Robinson
90fa215da2
Replace another std::vector with a TArray
2014-06-28 23:30:58 -07:00
Chris Robinson
48df515dd1
Merge remote-tracking branch 'zdoom/master' into openal
2014-06-28 23:29:48 -07:00
Christoph Oelckers
77277f4f75
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-29 01:10:51 +02:00
Christoph Oelckers
7d7f146ce1
- fixed: transferring a translation to a missile needs to check if the missile was spawned successfully.
2014-06-28 15:21:19 +02:00
Chris Robinson
ae95a2d5cf
Fix creating effect map entries
...
TMap apparently doesn't clear the memory for new entries like std::map...
2014-06-28 05:41:11 -07:00
Blzut3
c4bc5f7b97
Merge pull request #78 from alexey-lysiuk/fix_osx_build
...
Fix OS X build
2014-06-28 04:49:37 -04:00
Chris Robinson
6e64545725
Simplify some branching
2014-06-28 01:32:06 -07:00
Chris Robinson
7f3be7bf14
Show the name of unsupported sound formats with OpenAL
2014-06-28 01:25:25 -07:00
alexey.lysiuk
65203760a8
Fix incorrect actor flag handling on big endian platforms
2014-06-28 11:00:08 +03:00
alexey.lysiuk
7b69c60af1
Use correct 'true' keyword
2014-06-28 11:00:01 +03:00
alexey.lysiuk
e6d468eb38
Use byte swapping functions from <libkern/OSByteOrder.h> on OS X
...
Remove inclusion of Core Foundation headers to avoid type conflicts with LZMA SDK.
2014-06-28 10:59:56 +03:00
Chris Robinson
afcada4a3b
Remove an unused field
2014-06-28 00:46:45 -07:00
Chris Robinson
7908116fef
Use a separate function to update an openal stream's volume
2014-06-28 00:37:12 -07:00
Chris Robinson
c73d97af44
Use TArray and TMap instead of std::vector and std::map
2014-06-28 00:33:15 -07:00
Chris Robinson
a630c47e6a
Remove a redundant call
2014-06-27 22:09:03 -07:00
Chris Robinson
d55dfcdb1d
Pass the correct size to LoadSoundVoc
2014-06-27 22:05:11 -07:00
Chris Robinson
6f8545e694
Use a TArray for SoundDecoder::readAll
2014-06-27 21:51:05 -07:00
Chris Robinson
a16f9d061c
Work around a libsndfile bug related to converting float samples to shorts
...
Do the conversion ourselves to ensure it's properly clamped.
2014-06-27 01:29:34 -07:00
Braden Obrzut
d941203ab0
- Fixed edward-san's typo.
...
- Cleared a warning.
2014-06-26 20:37:11 -04:00
Chris Robinson
1a40c95f84
Rename some FMOD references to be generic sound system
...
Since they relates to other sound backends as well, there's no need to single
out FMOD in these places.
2014-06-26 16:58:18 -07:00
Christoph Oelckers
28afd04aef
Merge branch 'master' of https://github.com/rheit/zdoom
...
Conflicts:
src/CMakeLists.txt
2014-06-27 01:10:09 +02:00
Braden Obrzut
19415668ec
Merge branch 'gcc_aggressive_optimization' of github.com:edward-san/zdoom into edward-san-gcc_agressive_optimization
2014-06-26 18:11:32 -04:00
Braden Obrzut
1ae53473ff
Merge branch 'edward-san-cmake_gcc_compatible'
2014-06-26 17:54:48 -04:00
Braden Obrzut
cb9877e7ff
- Using USE_WINDOWS_DWORD on other platforms can cause problems.
2014-06-26 17:52:26 -04:00
Christoph Oelckers
0cb1547890
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-26 09:45:27 +02:00
Christoph Oelckers
270541f942
fixed compilation with latest LZMA SDK on Windows.
...
LZMA SDK recently added an #include <windows.h> to its headers, meaning it's no longer safe to include its headers globally in platform independent files.
The following changes were necessary:
- rename DWORD type in zipdir.c
- add USE_WINDOWS_DWORD and reorder includes in file_7z.cpp
- wrap LZMA decoder stream into a local struct that's declared anonymously in files.h and adjust files.cpp for this change.
2014-06-26 09:43:51 +02:00
Chris Robinson
0adfdf31dd
Fix calling SetPosition when not playing
2014-06-25 21:50:52 -07:00
Chris Robinson
a6900b48ba
Use AL_SOFT_deferred_updates to sync updates when availeble
2014-06-25 21:48:13 -07:00
Chris Robinson
c6bb52c866
Get the length from sounds when possible
2014-06-25 21:14:35 -07:00
Chris Robinson
fd25ec2a62
Implement GetPosition for OpenAL streams, and display it in the stats
2014-06-25 20:03:24 -07:00