Commit graph

76 commits

Author SHA1 Message Date
ZZYZX
044dbbcfd0 Rewrote dynamic light support. Resolves #319. Resolves #318. Resolves #233. 2020-01-03 03:22:33 +02:00
Magnus Norddahl
54fb563a9a Merge branch 'master' of https://github.com/jewalky/UltimateDoomBuilder 2020-01-02 20:35:20 +01:00
Magnus Norddahl
c10f70d595 Fix glError returning a null pointer 2020-01-02 20:34:55 +01:00
ZZYZX
7b5d4a03e9 Write uniform data into separate structures 2020-01-02 21:32:08 +02:00
Magnus Norddahl
10702928ae Only call seterror if the context creation fails 2020-01-02 20:21:38 +01:00
Magnus Norddahl
6450bdcc67 Improve error message if OpenGL context creation fails 2020-01-02 19:45:45 +01:00
ZZYZX
0ba5870dfc Merge branch 'shadercompiler' 2020-01-02 20:22:49 +02:00
Magnus Norddahl
d71da60c40 Lower depth bits requirement 2020-01-02 19:07:31 +01:00
Magnus Norddahl
82db74b17a Fix profile not being used 2020-01-02 18:55:53 +01:00
Magnus Norddahl
d49a6e228b Work a little harder to find an usable OpenGL version 2020-01-02 18:53:37 +01:00
ZZYZX
6374b498ab Added GLSL shader preprocessor 2020-01-01 22:41:04 +02:00
Magnus Norddahl
ca3fa76e32 Rename the sampler filters so that they use the same naming convention as modern graphics APIs 2019-12-29 18:54:22 +01:00
Magnus Norddahl
b466035bc8 Fix wrong mipmapping filtering and missing anisotropy 2019-12-26 02:02:53 +01:00
Magnus Norddahl
459742c840 Fix double delete bug 2019-12-26 01:09:31 +01:00
Magnus Norddahl
e68da4331a Also clean up textures not created by SetPixels 2019-12-26 00:46:05 +01:00
Magnus Norddahl
994eda4852 Fix shutdown crash caused by C# finalizers deleting texture objects after renderdevice already left the building 2019-12-26 00:37:47 +01:00
ZZYZX
734157256e Improved memory usage by loading textures directly into OpenGL 2019-12-25 19:08:57 +02:00
ZZYZX
a34055a0d3 Fixed: do a bit less radical deallocation in cube textures 2019-12-25 13:43:55 +02:00
ZZYZX
d57d73ce78 Fixed: memory buffer was not cleared after successfully transferring texture data to OpenGL (resolves #327) 2019-12-25 13:39:55 +02:00
ZZYZX
054a30dd1b Fixed: textures of null size should not be allowed (resolves #324) 2019-12-25 13:32:11 +02:00
Magnus Norddahl
ef6d217623 Rearrange the code slightly so it is easier to add other backends 2019-12-23 20:09:38 +01:00
Magnus Norddahl
84efdad49e Add the license that applies to BuilderNative 2019-12-23 00:13:09 +01:00
Magnus Norddahl
e1ff5fc0da Implement resource cleanup for all resource types 2019-12-22 23:44:58 +01:00
Magnus Norddahl
848ff8e771 Fix typo 2019-12-21 03:32:59 +01:00
Magnus Norddahl
b0538ac3c8 Move matrix functions to its own file 2019-12-21 03:31:44 +01:00
Magnus Norddahl
28406cf1a7 Declare the uniform variables in C# 2019-12-21 02:14:42 +01:00
Magnus Norddahl
a21edf78da Misc adjustments to make the cherry-picked 'C# shader resources' commit work 2019-12-21 01:47:27 +01:00
Magnus Norddahl
236ddd14eb Remove shader references from BuilderNative.vcxproj 2019-12-21 01:36:31 +01:00
Magnus Norddahl
7f6ff8929d Move the shaders to C# resources 2019-12-21 01:26:58 +01:00
Magnus Norddahl
5c5633c1e7 Clearing the current active OpenGL context is apparently very expensive. Only do it if we're destroying an OpenGL context. 2019-12-20 05:30:27 +01:00
Magnus Norddahl
80f815cad9 Fix the error handling: only create one call unless there's an error and only check for errors in functions that can fail 2019-12-20 03:39:06 +01:00
Magnus Norddahl
4274ee2893 Use C++ and SSE code to do matrix math
Avoid copying by passing matrices by reference to RenderDevice
Use fasttrig from GZDoom for faster cos/sin
Don't set matrices unless they changed. Even though the memcmp prevents it from being pushed to OpenGL it is still a waste.
2019-12-19 03:12:44 +01:00
Magnus Norddahl
b19ce39abc Only set uniforms if they changed 2019-12-18 04:22:47 +01:00
Magnus Norddahl
de2e336cb1 Use OpenGL sampler objects 2019-12-18 03:24:09 +01:00
Magnus Norddahl
b70b114a6b Place all vertex buffers in the same GPU vertex buffer so that the 3D scene only contains 2 vertex buffer binds per frame 2019-12-18 02:27:49 +01:00
ZZYZX
b3a4f563e9 Call wglMakeCurrent before SwapBuffers in Windows context implementation 2019-12-18 00:36:13 +02:00
ZZYZX
4cb6d68c45 Use PBO to stream texture data for software rendering 2019-12-16 06:54:44 +02:00
ZZYZX
2433b8eb0d Removed -f suffixes for floats (not supported on AMD) 2019-12-16 01:17:41 +02:00
ZZYZX
502b641967 Improved error reporting 2019-12-15 23:53:33 +02:00
ZZYZX
99a90512f1 Fixed: depth tested FBO did not work 2019-12-15 18:48:38 +02:00
ZZYZX
d1ff6bcc36 Fixed: line can be either dotted or smoothed 2019-12-15 07:20:54 +02:00
ZZYZX
2c3013f74c Make everything build with VS2015 again 2019-12-14 23:42:44 +02:00
Magnus Norddahl
03e9da365e Misc fixes for mono P/Invoke of BuilderNative 2019-08-30 10:30:28 +02:00
Magnus Norddahl
3cd96fc788 Fix linux compile errors and build the BuilderNative.so library 2019-08-30 08:45:14 +02:00
Magnus Norddahl
9d02676f8f - fix wrong uniform state 2019-08-22 22:59:27 +02:00
Magnus Norddahl
64cc7d2bc2 - implement the fixed function fog 2019-08-22 18:43:54 +02:00
Magnus Norddahl
1ef7d4a267 - improve performance 2019-08-22 15:46:24 +02:00
Magnus Norddahl
0562dac685 - fix screenverts math and some line drawing bugs 2019-08-20 12:45:23 +02:00
Magnus Norddahl
4c0e6e8fcc - implement plotter as a shader 2019-08-20 11:00:24 +02:00
Magnus Norddahl
3b2d50cce0 - add the X11 OpenGL init code, even though it is useless until someone repairs mono's winforms implementation 2019-08-18 06:04:15 +02:00