DirectXShaderCompiler
UnrealEngine
DirectXShaderCompiler | UnrealEngine | |
---|---|---|
33 | 122 | |
2,918 | - | |
1.0% | - | |
0.0 | - | |
1 day ago | - | |
C++ | ||
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
DirectXShaderCompiler
-
Building the DirectX shader compiler better than Microsoft?
> We may support DXBC generation in Clang in the future (we mentioned that in the original proposal to LLVM). That work is unlikely to begin for a few years as our focus will be on supporting DXIL and SPIR-V generation first.
I appreciate this quote[0] from the microsoft camp. Setting clear expectations that something will not be done is a nice bit of fresh air.
[0] https://github.com/microsoft/DirectXShaderCompiler/issues/57...
-
Vcc โ The Vulkan Clang Compiler
There's no need for transpilers these days, you can just compile HLSL to SPIR-V bytecode with dxc.
https://github.com/microsoft/DirectXShaderCompiler
-
Shader Compilation
Use DXC and only HLSL for your main shader editing.
-
Apple's Game Porting Toolkit seems to have a D3DMetal.framework with full implementations of DirectX 12 to 9 on Metal
You can see libdxilconv in there, DXIL is the DirectX Intermediate Representation, documented in the open source shader compiler from Microsoft.
-
Proper way to access a read-only texture that has no sampler from an hlsl compute shader?
BTW, this problem can be reproduced as described below: - clone https://github.com/SaschaWillems/Vulkan.git - build the project and run it with arguments : -v - s hlsl to enable the validation layer and to use hlsl code - run ComputeShader project. The following validation error "Type mismatch on descriptor slot ..." will be shown in the console. - to fix it, as suggested above, you can replace the 3rd line of emboss.comp, sharpen.comp, and edgedetect.comp from: Texture2D inputImage : register(t0); //Creates validation errors to RWTexture2D inputImage : register(u0); //no validation errors (you'll then need to recompile the shaders to spv with a proper hlsl compiler such as Microsoft dxc)
-
Start project on Metal, port to DX11?
EDIT: There is also naga but it does not take HLSL as input: https://github.com/gfx-rs/naga but you can use DirectXShaderCompiler to compile to SpirV, then use naga to compile to Metal.
-
Using WebGPU as a graphics API for native C++ applications
๐คจ For a "refusal to acknowledge it", they do appear to have a rather sizeable document mapping between HLSL and SPIR-V? https://github.com/microsoft/DirectXShaderCompiler/blob/main/docs/SPIR-V.rst
- What amazing things do you guys do with LLVM?
-
Is SPIRV-Cross a valid option to target Metal from HSSL?
I am starting work on a compute-driven rendering engine, and it seems that the best way to go around it will be to write code in HSSL, and then use DirectXShaderCompiler to generate SPIR-V, and SPIRV-Cross to then generate MSL. And while DXSC's repo has a page on incompatibilities, no such resource seems to exist for SPIRV-Cross targeting Metal.
-
Learning DirectX 12 in 2023
DirectX Shader Compiler
UnrealEngine
-
Two handy GDB breakpoint tricks
Visual Studio has a related annoying habit when navigating the call stack (the caller's scope is considered closed if the callee is syntactically its tail) so I wonder whether this workaround would be useful for it as well.
See also this comment in the Unreal Engine code about putting a nop in before as well: https://github.com/EpicGames/UnrealEngine/blob/26677ca1b3c97...
// Q: Why is there a __nop() before __debugbreak()?
-
Sane C++ Libraries
> you can still use it with smart pointers provided by any other library
Is the point of having a kitchen-sink library like this not that you dont have to reach for a 3rdparty library for things that you need 'all the time'?
Certainly, not everyone needs it.
...but, not everyone needs threads either. Not everyone needs an http server; and yet, if you have an application framework that provides them, when you do need them, it saves you reaching for yet-another-dependency.
Was that no the point from the beginning?
unique_ptr is a fundamental primitive for many, as you see from some other frameworks (1), and implementation is not always either a) trivial, or b) as simple as 'just use std::unique_ptr'.
This does seem like a very opinionated decision with reasonably unclear justification.
[1] - eg. https://github.com/EpicGames/UnrealEngine/blob/release/Engin..., https://github.com/electronicarts/EASTL/blob/master/include/...
- Not only Unity...
-
Unreal Engine 5.3
It is not publicly available. If you click on this link you get a 404 page: https://github.com/EpicGames/UnrealEngine You actually have to go and subscribe, agree to their terms, and then you get to view the source code. It happens to be free, but it is by no means "public".
-
I always have bad timing, was literally just about to try out v5.2
https://github.com/EpicGames/UnrealEngine/tree/5.2.0-preview-2 For anyone wondering
-
Depending on the order multiple movies in "Startup movies" cause game to crash.. UE5.1
Like I said before, you have the fixed code here (commit: 23937975).
-
How to create a moddable game?
Before you can access the repository at https://github.com/EpicGames/UnrealEngine, you must: be an Unreal Engine subscriber. have a GitHub account. have associated your GitHub account with your Unreal Engine account as described on the UE4 on GitHub page.
-
W.I.P on my Open-World time traveling game. Experimented with Lumen + Nanite and found a way to maximize performance!
What you need to do is follow this link and diff my file with Epic's file. You can grab settings that I have from mine and plop them into a custom one for yours. Just be mindful if you're developing in VR for what settings you bring over.
-
As a Unity user, watching Unreal Engine at GDC 2023 made me sad and jealous
Originally it was going to be NetworkPrediction (need to be signed into a github account with Unreal Engine access for that link to work), but since David Ratti left Epic that died and they stopped working on it. (I didn't know it was dead, that was the CMC replacement I was referring to)
-
This unironically happened at my work today. We'll *definitely* be fitting that one into the next sprint...
Found this while looking through UE commits
What are some alternatives?
shaderc - A collection of tools, libraries, and tests for Vulkan shader compilation.
CRYENGINE - CRYENGINE is a powerful real-time game development platform created by Crytek.
glslang - Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
capnproto-rust - Cap'n Proto for Rust
rust-gpu - ๐ Making Rust a first-class language and ecosystem for GPU shaders ๐ง
Defragr - Precision movement FPS with physics ported from Quake 3 CPMA. Made with UE4
macOS_Wine_builds - Official Winehq macOS Packages
Quake-III-Arena - Quake III Arena GPL Source Release
ShaderConductor - ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages
Smooth-Networked-Movement-Plugin - Public Repository so anyone can push updates to the plugin. [Moved to: https://github.com/Reddy-dev/SMN2]
SPIRV-Cross - SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.
RuntimeMeshComponent - Unreal Engine 4 plugin component for rendering runtime generated content. [Moved to: https://github.com/TriAxis-Games/RealtimeMeshComponent]