Commit graph

40 commits

Author SHA1 Message Date
marauder2k7
11d8604d8e ogl device buffer creation
now ogl mirrors dx side with ubo creation and clearing pushed up to the device level.
2024-03-14 14:23:08 +00:00
marauder2k7
1e8841e6b5 pushed buffer creation up to the device level
now shaders ask the device to create a buffer, if a buffer of the same name and size already exist then a pointer to that buffer is returned instead. Going to see if something similar can be added to the opengl end.
2024-03-14 13:32:21 +00:00
marauder2k7
e6c653c441 warnings cleanup
cleanup and some warning fixes
2024-03-14 08:28:11 +00:00
marauder2k7
9dc5ae833b opengl ubo setup
opengl can now compile with ubo buffer objects similar to cbuffers on dx side.

cleaned double up of data from both sides, gfxhandles only need to use the desc info instead of holding onto its own.
2024-03-13 22:23:01 +00:00
marauder2k7
4a6fbd5811 DX and GL Geometry shaders added
Added the dx and gl geometry shader compile codes.
2024-03-06 13:51:50 +00:00
marauder2k7
017246cfa3 Update gfxD3D11Shader.cpp 2024-03-01 14:30:31 +00:00
marauder2k7
a7021c0ed3 cleanup
Reverted back to a 2d array since when the const buffer changes are made to the shaders they will be completely swapped out for a 1d array with a max size of 16 for the program, id3d11buffers will be shared across shaders apart from object buffers. We still need to decide on a structure to get everything setup so to keep functionality a max of 2 buffers per stage with 1 buffer as a padding so we can start coding constant buffers right away
2024-02-29 14:34:22 +00:00
marauder2k7
cd8914b9ad reverse bitshift
need to reverse the bitshift on shaderstages so we get values between 0-5, need to also revert the mBoundConstVec back to a 2dimensional array so that the binding point can be dynamic as well.
2024-02-27 20:59:10 +00:00
marauder2k7
040bbdd6d6 Update gfxD3D11Shader.cpp
turns out we dont need to do this if both exist the bind point gets changed anyway
2024-02-27 14:51:59 +00:00
marauder2k7
e9a38539a3 multiple desc per handle
Added multiple descriptions to handles.

While maps are very efficient and match data very quickly due to hashing and what not, they are tricky memory wise, we cant clear them if they are only made up of structs and enums. Need to explore other methods for doing this. Original system had a sub buffer system with a check based on whether the handle was marked vertex/pixel. With 6 stages possible now we need to think of a more effective method. Since shaderstage is now a bit flag maybe some sort of streaming setup could be used to write without a loop.
2024-02-27 09:15:19 +00:00
marauder2k7
78df01af55 Update gfxD3D11Shader.cpp
plugging leaks
2024-02-26 22:44:32 +00:00
marauder2k7
37636bcd26 switch to vectors
uses vectors for buffers instead of 2d array
2024-02-26 22:25:11 +00:00
marauder2k7
c876e86957 Update gfxD3D11Shader.cpp
cleanups
2024-02-26 16:38:56 +00:00
marauder2k7
b979f4befc everything works
... apart from the sun =/
2024-02-26 09:22:19 +00:00
marauder2k7
e24971517e commit before pr 2024-02-25 23:10:23 +00:00
marauder2k7
25bc9cf354 stumped
buffers seem to be being added correctly, but for whatever reason render is not correct =/
2024-02-25 22:51:37 +00:00
marauder2k7
af29a2af0a Remove code duplication
Removed code duplication, all types can be routed through the same function apart from matrices.
2024-02-25 15:26:48 +00:00
marauder2k7
8c01a1a85b Working
This commit has everything rendering kind of correctly, but the colours seem off from lighting.
2024-02-25 13:39:22 +00:00
marauder2k7
6355e122d2 compare before change
check to see if data is different in internal sets before changing values
2024-02-24 19:52:35 +00:00
marauder2k7
3f3ef12c3b handle the global buffer
global buffer needs a special case
2024-02-24 17:33:28 +00:00
marauder2k7
e8d8138c74 working
last commit before global conform
2024-02-24 16:26:09 +00:00
marauder2k7
8887e21f4b working
working example, renders all gui controls.

We still cant render a scene, something to do with the constant buffer at slot 0 of the vertex shader being too small..... gotta figure this one out..................
2024-02-24 14:42:30 +00:00
marauder2k7
dd4d48d654 working example
now its working.. still not perfect but its getting there
2024-02-24 12:40:12 +00:00
marauder2k7
42b8748f5b bkup
still memory heap issue
2024-02-24 12:04:53 +00:00
marauder2k7
4caa54ad7e working example
everything is working apart from samplers......
2024-02-23 21:27:44 +00:00
marauder2k7
a1e2f781a8 Set constant buffers
added logic to set constant buffers dx side
2024-02-23 20:06:46 +00:00
marauder2k7
97ed522667 gfxD3D handles and buffermap
init handles coded.
bufferMap added.
2024-02-23 17:18:45 +00:00
marauder2k7
630bee97c7 backup 2024-02-22 21:37:44 +00:00
marauder2k7
55519aac57 Shader refactor
Refactored DX Shader compilation and reflection to be more similar to opengl
Added support for more than 1 const buffer per shader stage.

This is boilerplate code, no functionality yet, that will be added in further commits. Though this builds without errors do not try and run it at this point.
2024-02-22 09:58:45 +00:00
Lukas Aldershaab
87dd7ffc4a Implement Singlepass Terrain Render 2021-01-01 21:06:01 +01:00
Lukas Aldershaab
197a62f6ea Convert dStrcmp to String::compare for more cases 2020-10-04 00:00:01 +02:00
Tim Barnes
9e65e940d0 lighting single buffer 2018-11-21 15:53:02 +10:00
Areloch
1f7cf55204 Add cubemap arrays, as well as control for generation of MIPs on texture targets. 2018-09-16 18:19:04 -05:00
Areloch
e2f98f2641 Includes the D3D feature level detection. 2017-07-05 22:27:37 -05:00
Areloch
25686ed4be Implementation of sRGB image support. Overhauls the linearization setup to utilize the sRGB image types, as well as refactors the use of ColorF and ColorI to be properly internally consistent. ColorIs are used only for front-facing/editing/UI settings, and ColorFs, now renamed to LinearColorF to reduce confusion of purpose, are used for color info in the engine itself. This avoids confusing and expensive conversions back and forth between types and avoids botches with linearity. Majority work done by @rextimmy 2017-06-23 11:36:20 -05:00
rextimmy
86a95e748e Added getShaderModel string to D3D11 for use with shader version macros. 2016-12-30 11:40:00 +10:00
rextimmy
983b3211ed D3D11 Feature level 10 support and D3D11 device cleanup. 2016-12-23 15:00:07 +10:00
James Urquhart
3496c549b5 Hardware Skinning Support
- Supports GL, D3D9 & D3D11
- Extends vertex formats & shadergen to support blend indices and weights
- Adds basic support for using 4x3 matrices for shader constants
- Supports software fallback
2016-08-21 01:43:30 +01:00
Azaezel
db50887c05 addresses C4101 warnings ('identifier' : unreferenced local variable) 2016-07-31 11:00:37 -05:00
rextimmy
1ff6f221fb Direct3D11 GFX device. 2016-03-20 21:48:52 +10:00