Azamat H. Hackimov
d8de33eb35
Convert renderer to use new logging facility
2024-09-10 03:00:25 +03:00
Azamat H. Hackimov
30f8fefa0b
Cleanup sdlmain.cpp
...
Remove unused global variables, rewrite internal functions, remove `-game_checksum` cmdline option.
2024-09-10 03:00:25 +03:00
Louis Gombert
2db85ca6ec
Merge pull request #545 from tophyr/pr/improve-render-perf
...
Improve Renderer Performance
2024-08-27 23:19:55 +02:00
Chris Sarbora
be59b88b26
Improve Renderer Performance
...
Use orphaned "buffer update streaming" to eliminate synchronization
delays, due to CPU->GPU latency, causing framerate slowdowns. This sends
vertex data to the GPU via partial updates to a buffer and reallocates
the buffer once it fills up, ensuring that no synchronization is ever
needed. The buffer is sized to balance memory usage vs allocation rate,
and the GL driver ensures that "orphaned" buffers are only destroyed
when all GL commands using them are retired.
2024-08-24 17:19:27 -05:00
Azamat H. Hackimov
1fdffe1700
Reactivate editor building
2024-08-21 17:29:14 +03:00
Azamat H. Hackimov
4aa17f36d4
Minor cleanups to HardwareOpenGL.cpp
2024-08-21 15:29:05 +03:00
Azamat H. Hackimov
1de5da7777
Remove external symbols from GL renderer
...
Remove unused linux_permit_gamma variable. Remove d3SDLEventFilter() as it initialized earlier.
2024-08-21 14:52:58 +03:00
Azamat H. Hackimov
39e971504e
DDIO: implement mouse grab state functions
...
Hide global variable ddio_mouseGrabbed.
2024-08-21 12:29:28 +03:00
Chris Sarbora
8bd1b678f0
Gate OpenGL error-checking on a compilation setting rather than Debug/Release
2024-08-18 03:26:07 -05:00
Chris Sarbora
46043e709d
use GL_RGBA8 instead of invalid GL_RGB
2024-08-18 03:26:07 -05:00
Chris Sarbora
38100b8ed1
use GL_CLAMP_TO_EDGE instead of deprecated GL_CLAMP
2024-08-18 03:26:07 -05:00
Chris Sarbora
77fb0cd1ab
use GL_TRIANGLE_FAN instead of nonexistent GL_POLYGONS
2024-08-18 03:26:06 -05:00
Chris Sarbora
a06e78074f
remove EXT and ARB suffixes
2024-08-18 03:26:06 -05:00
Chris Sarbora
791cdcb308
eliminate hints to things the shader does now
2024-08-18 03:26:06 -05:00
Chris Sarbora
256898dfc6
Move fog into shader
2024-08-18 03:26:06 -05:00
Chris Sarbora
625b2fc1a1
update vertices modernly
2024-08-18 03:26:06 -05:00
Chris Sarbora
0dd203e2c0
create, track, and clean up texture ids responsibly
2024-08-18 03:26:06 -05:00
Chris Sarbora
a5081982f6
Always use Multitexture
2024-08-18 03:26:06 -05:00
Chris Sarbora
d25bf5e4e1
set up texture enabling
...
eliminate gl(Enable|Disable)ClientState and glClientActiveTextureARB
2024-08-18 03:26:06 -05:00
Chris Sarbora
5b4703bf5f
pipe color and texcoords thru the shaders
2024-08-18 03:26:06 -05:00
Chris Sarbora
16df2d764a
Set up transformations in vertex shader
2024-08-18 03:26:03 -05:00
Chris Sarbora
d61deae68d
add rudimentary shaders and machinery
2024-08-18 02:52:46 -05:00
Chris Sarbora
bc99cc867b
use opengl 3.2
2024-08-18 02:52:46 -05:00
Chris Sarbora
9950c80e64
eliminate glBegin usage
2024-08-18 02:49:07 -05:00
Chris Sarbora
f8043c1390
extract DetermineColor logic
2024-08-18 02:49:07 -05:00
Chris Sarbora
18ccdf5a81
glShadeModel calls are redundant with default setting, rend_SetLightingState is redundant with rend_SetLighting
2024-08-18 02:49:07 -05:00
Chris Sarbora
8d94450b7a
dglAlphaFunc(GL_GREATER, 0) is perfectly redundant
2024-08-18 02:49:07 -05:00
Chris Sarbora
e152b5df70
setting depth range to [0, 1] is superfluous
2024-08-18 02:49:07 -05:00
Chris Sarbora
cc08065fa1
Eliminate unused dyna_gl methods
2024-08-18 02:49:07 -05:00
Chris Sarbora
b380145bb2
Delete commented code
2024-08-18 02:49:07 -05:00
Chris Sarbora
599ec00a86
Unused code
2024-08-18 02:49:07 -05:00
Chris Sarbora
0d5aa9df1d
g3_Init and g3_Close do nothing
2024-08-18 02:49:07 -05:00
Chris Sarbora
fb2dbe8c92
Delete empty method
2024-08-18 02:49:07 -05:00
Chris Sarbora
8d26df7b25
Delete written-only fields
2024-08-18 02:49:07 -05:00
Chris Sarbora
41a04aedd2
dead code
2024-08-18 02:49:06 -05:00
Chris Sarbora
201d4add62
Make dyna_gl definitions easier and own all fn lookups
2024-08-18 02:49:06 -05:00
Chris Sarbora
bd06bf5288
rename ogl* to dgl*
2024-08-18 02:49:06 -05:00
Louis Gombert
ae5840f314
Merge pull request #502 from winterheart/modules-split
...
Splitting submodules of project
2024-07-30 23:17:47 +02:00
Louis Gombert
1328a8c846
Remove non-functional OpenGL logging methods
2024-07-28 17:52:01 +02:00
Azamat H. Hackimov
7ba009b811
Isolate rtperformance module
...
Update rtperformance module, minor cleanups.
2024-07-28 16:50:42 +03:00
Chris Sarbora
3da53e567f
Programmatically replace all __LINUX__
with POSIX
...
Steps:
```sh
srcs=$(mktemp)
find . -name "*.cpp" -or -name "*.c" -or -name "*.h" -or -name "*.hpp" -or -name "*.cc" -or -name "*.hh" > $srcs
xargs sed -i 's/ifndef __LINUX__/if !defined(POSIX)/' < $srcs
xargs sed -i 's/ifdef __LINUX__/if defined(POSIX)/' < $srcs
xargs sed -i 's/defined(__LINUX__)/defined(POSIX)/' < $srcs
```
2024-07-12 18:11:54 -05:00
Azamat H. Hackimov
7b7ffde4d8
Fix loading OpenGL library on Windows
...
On loading GL symbols we are using SDL_GL_GetProcAddress(), which only valid if we previously loaded OpenGL library with SDL_GL_LoadLibrary(). We cannot use mod_LoadModule() here, otherwise finding symbols will fail.
2024-06-29 20:53:13 +02:00
Louis Gombert
74c7b2cb0c
Fix bad rebase for sdlmain.cpp
2024-06-29 18:28:23 +02:00
Louis Gombert
5d413b9f30
Fix bad __LINUX__ checks
2024-06-29 18:28:22 +02:00
Louis Gombert
97540db0ae
Fix Linux opengl library load
2024-06-29 18:21:38 +02:00
Louis Gombert
6f5a4be1e6
Fix Windows OpenGL dynamic loading
2024-06-29 18:21:37 +02:00
Louis Gombert
91c18fefc5
Windows SDL2 compilation
2024-06-29 18:21:37 +02:00
Azamat H. Hackimov
59487976f6
Isolate misc module
...
Isolate misc module for better dependency handling.
2024-06-27 01:26:35 +03:00
Louis Gombert
3b7a6cc17c
Merge pull request #467 from JeodC/upstream
...
Set default BPP to 32
2024-06-24 19:48:11 +00:00
JeodC
310412a360
Set default BPP to 32
...
In windows x64, on trying to run the game, ChangeDisplaySettings will fail because the game does not use the new windows api to change these settings. Since Win95 compatibility mode is not an option for Win64, instead change the default BPP to 32.
There may be a more proper way to handle this, and make it more uniform to remove BPP 16 entirely, but this has worked for me since putting it in a fork over a month ago.
2024-06-24 11:04:02 -04:00