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