Commit graph

37 commits

Author SHA1 Message Date
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
4cb6d68c45 Use PBO to stream texture data for software rendering 2019-12-16 06:54:44 +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
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
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
Magnus Norddahl
ebba32e7ba - add the appropriate ifdefs for an unix build 2019-08-18 03:29:33 +02:00
Magnus Norddahl
5ccc225fa8 - fix light pass 2019-08-17 05:21:28 +02:00
Magnus Norddahl
c914aadcaa - simplify texture binding 2019-08-17 03:21:11 +02:00
Magnus Norddahl
c88b94e1c9 - render to texture bug fixes 2019-08-17 03:08:34 +02:00
Magnus Norddahl
0542bd25ec - convert texturefactor to uniform 2019-08-16 14:01:27 +02:00
Magnus Norddahl
9b53939f0c - simplify vertex buffer and vertex format 2019-08-16 13:07:57 +02:00
Magnus Norddahl
d701987fb4 - don't pass sizes into VertexBuffer and IndexBuffer constructors
- CopyTexture bug fixes
2019-08-16 11:24:22 +02:00
Magnus Norddahl
fb137d46db - draw streamed vertices 2019-08-16 07:45:34 +02:00
Magnus Norddahl
5604685770 - remove old fixed function shader as it isn't used 2019-08-16 07:10:46 +02:00
Magnus Norddahl
c4dafbedc1 - implement alpha test 2019-08-16 04:10:03 +02:00
Magnus Norddahl
8ea439a5c2 - fix some rendering problems in visual mode 2019-08-15 14:49:49 +02:00
Magnus Norddahl
e6731115ed - and we have visuals! 2019-08-15 09:40:49 +02:00
Magnus Norddahl
a542385cd7 - force texture and buffer updating to go through RenderDevice 2019-08-15 02:52:21 +02:00
Magnus Norddahl
b41cb07eaa - Hook up texture creation and binding 2019-08-14 13:51:05 +02:00
Magnus Norddahl
1d09a0f86a - implement ApplyUniforms 2019-08-14 12:36:33 +02:00
Magnus Norddahl
3c44f77b60 - port all the direct3d shaders to glsl 2019-08-14 07:55:21 +02:00
Magnus Norddahl
2eaf323ad0 - fix vertex array object binding bug
- add shader program
- fix that alpha color was stored in red channel in Color4
- fix buffer upload bug
2019-08-12 08:33:40 +02:00
Magnus Norddahl
fd37c455d2 - Upload and apply vertex buffers, index bufers and vertex declarations 2019-08-10 07:46:29 +02:00
Magnus Norddahl
d48f032b71 - create OpenGL context 2019-08-10 02:32:08 +02:00
Magnus Norddahl
3fae1e9ef3 - add RenderDevice bindings 2019-08-10 00:46:51 +02:00
Magnus Norddahl
37876f6d8a - add BuilderNative library that does the actual rendering 2019-08-09 06:18:08 +02:00