DirectXShaderCompiler
LearnOpenGL
DirectXShaderCompiler | LearnOpenGL | |
---|---|---|
33 | 624 | |
2,918 | 10,261 | |
1.0% | - | |
0.0 | 3.8 | |
2 days ago | 13 days ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | 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
LearnOpenGL
- Learn OpenGL eBook
-
LearnD3D11, a guide aimed at anyone trying to learn Direct3D11
Also recommended: LearnOpenGL [1] and Vulkan Guide [2]
[1]: https://learnopengl.com/
-
Making Small Games, Which Is Fun in Itself
I want to begin game development as a hobby, but I'm unsure where to start. I did follow through https://learnopengl.com/ a few years ago, and while it was a very interesting experience, I imagine I would need to use an existing engine to be productive.
Do you recommend any books and tutorials aimed at experienced programmers with 0 knowledge of game development/design?
-
Is there space in this field for extreme cases like mine ?
- Game development - Unity3D project based learning in C#: https://learn.unity.com/ - Graphics - There was another user on r/GraphicsProgramming the other day (who teaches Computer Graphics at his university) that linked their lecture series for the entry year of their course here: https://tamats.com/learn/realtime-graphics/ - Project based learning: https://github.com/ssloy/tinyrenderer/wiki - Rendering API tutorials: https://vulkan-tutorial.com/, https://learnopengl.com/
-
Where do I start to learn C++ for a game development
If u want to make 3D game, you'll probably want to learn some 3D shader graphic stuff. OpenGL is a good start. https://learnopengl.com
-
Ask HN: Learn Graphics Programming, Recommendations?
LearnOpenGl.com
Possibly a smidge outdated.
Goes from blank window to rendering 3d meshes with advanced lighting techniques (HDR, SSAO and more).
Heped me understand shader pipeline, so I recommend it.
https://learnopengl.com
- Iโm Bored AF!
-
Looking to get started
and then https://learnopengl.com/
- Ajutor in privinta incercarii a face un joc
-
Is a bounding volume a mesh? (for visualization)
I'm reading the guest article about frustum culling on learnopengl.com and there's a video demonstrating how it works and for debug purposes they have a bunch of spheres turning red or green which I assume means they're being culled or not so my question is if I wanted to do this do I have to make a mesh for whatever bounding volume shape or is there a specific method for something like this?
What are some alternatives?
shaderc - A collection of tools, libraries, and tests for Vulkan shader compilation.
raylib - A simple and easy-to-use library to enjoy videogames programming
glslang - Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
rust-gpu - ๐ Making Rust a first-class language and ecosystem for GPU shaders ๐ง
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
macOS_Wine_builds - Official Winehq macOS Packages
sokol - minimal cross-platform standalone C headers
ShaderConductor - ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages
bevy - A refreshingly simple data-driven game engine built in Rust
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.
SFML - Simple and Fast Multimedia Library