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