On Wednesday, 1 May 2013 at 08:42:40 UTC, Temtaime wrote:
I'm new in D, so i'm tried to write some in that langugage.
That's story about how i tried to port OGL sample, that renders
one triangle.
I was very surprised when i found, that D doesn't have
equivalent of gl/gl.h. Any C++ compiler has it.
Okay, i'm investigate in it and found OpenGL in deimos.
It doesn't support a lot of OGL function such as glPushMatrix
and others.
Okay, then i found derelict3. It has a lot of OGl functions and
it's okay.
When i tried to rewrite example to D, i was shocked.
core.sys.windows.windows doesn't have a lot of functions. It
doesn't contain simple function DestroyWindow for example.
It's intresting, but go ahead, i found derelict.util.wintypes
with missing functions. I've got a lot of "conflicts with"
errors, because some of functions was in derelict's wintypes
too. I've solved it. When i tried to link my program, i've got
a lot of "undefined reference" errors. Okay, i've built and
link derelict libraries. Then errors became stranger:
DerelictUtil.lib(traits) Offset 204C4H Record Type 0091
Error 1: Previous Definition Different : _D67
DMD\windows\bin\..\..\src\phobos\std\traits.d.17012__ModuleInfoZ
So i can't to rewrite simple OpenGL example that consists of 50
lines.
This example works on every C++ compiler without
building/finding any libraries.
Dlang's standard windows.h heade is useless, because a lot of
functions/structs definitions is missing.
Dlang is a toy in outer space.
One can only to write a+b program in schools on it.
Now i'm understand, that's why D doesn't have popularity after
10+ years of existence.
You've posted this to D.learn, yet you don't seem to be asking
for help. You merely appear to have come here to tell us how
rubbish we are.
It's quite possible that there is a very easy solution to your
current problem, however I'm not a windows man myself, so
unfortunately I'm unlikely to be of much help.
However, I will say this: If something is genuinely missing that
you need, just ask for it to be included. Or, you could add it
yourself and create a pull request for it. At a brief glance it
looks fairly trivial to add new functions to
core.sys.windows.windows (which btw you can import as
std.c.windows).