Any 3D Game or Engine with examples/demos which just work (compile&run) out of the box on linux ?
evilrat
evilrat666 at gmail.com
Mon Jun 7 15:02:37 UTC 2021
On Monday, 7 June 2021 at 14:02:14 UTC, Prokop Hapala wrote:
>
> Basically I'm desperate do find anything which encapsulates
> OpenGL calls into some nice D-lang classes to learn from it. I
> don't really want to use Dagon, nor Godot. What I want is to
> use it as learning resources fro learning graphics programming
> in Dlang.
>
> Rewriting my graphics engine from C++ to Dlang is huge barrier
> for me, sice I don't know Dlang enough. I want to see some nice
> Tricks and convenience of Dlang features applied to graphics
> programming.
>
> Ability to compile without much hessel is minimal requirement
> for me.
> The only thing which I was able to compile up to no was dmech,
> which is nice for physics but very old OpenGL
Ok then, no dagon won't help you that much IMHO. There is
definitely a lot of projects on github with some basic
engine-like functionality which encapsulates VBO, shaders, and
stuff. Nothing specific that comes to mind but they do exist.(uh,
maybe serpent engine?)
They are however mostly quickly hacked up student's homework
rather than designed solid projects, so I again suggest you to
try godot for anything serious. It's all shaders after all, doing
VBO and render pipeline setups is not that much fun.
For learning graphics programming however D is ok, but you will
definitely almost on your own, still github is your friend, look
for existing projects on github (for example dash) on how it can
be done.
As for actual language features that might help - that will be
reflection and meta-programming.
With them you can generate everything from the code - VBO's,
render passes, etc...
Make declarative DSL from that to rule them all!
It's fancy and all, but it is only slightly better than C++ (esp.
since it has shitty OpenGL/vulkan loaders and clumsy build tools)
and there's nothing new compared to it.
And final option would be to make bindings for your existing C++
code, either manually or with tools (like my own generator)
https://github.com/Superbelko/ohmygentool
More information about the Digitalmars-d-learn
mailing list