Commit graph

81 commits

Author SHA1 Message Date
Magnus Norddahl
8eb522c873 Move vpo native code into BuilderNative as it is easier to manage. The plugins folder doesn't support including native dlls properly anyway.
Fix visplane explorer busy looping when waiting for data and reduce the used core count to 75% of the total available
Made vpo native code thread safe, removing the need for ungodly DLL patching hacks
2020-04-19 15:56:24 +02:00
alexey.lysiuk
127aff5cc4
Fixes for non-Windows platforms (#371 by alexey-lysiuk) 2020-03-17 21:37:58 +02:00
Magnus Norddahl
6e4a02fb2b Add texture format to the Texture class so that render target textures do not have to be in the bgra8 format 2020-01-15 23:28:17 +01:00
Magnus Norddahl
5363fe0717 Produce release build
Disable devil
Support mac build (which is useless as mono doesn't support winforms on modern macOS)
2020-01-06 08:52:59 +01:00
Magnus Norddahl
20f5f01b84 Unix build fixes 2020-01-06 08:07:52 +01:00
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