Impact Wrapper -D3D9 Wrapper-

Previous topic - Next topic

SnooPI

A wrapper for this good old 3D engine in directx.
It's not 3impact, but 3DRAD 6, with some tips that are not described in the documentation of 3impact.
In addition, something important for collisions.
If some are interested, I continue to work on it.

dreamerman

Interesting, another proof that GLB isn't restricted like some other tools and can be used beyond most popular libraries. This engine name sounded familiar, so I googled it and indeed, remember it from my 'VB6 era', but only briefly, TrueVision3d was looking more promising. Now it looks like they switched from standalone engine (3Impact) to some kind of game making tool (3DRad)? I'm curious does they have tutorial or something, as most of those engines ended in oblivion :D

Another thing, and don't get me wrong here, that's great job, this may be helpful for someone (specially if You will release source), but I would prefer to use some solution that would try to maintain cross-platform nature of GLB (just in case). New functions/update for 3d stuff in GLB would be awesome, but newer engines may be overwhelming to adapt into GLB. I'm looking forward for Your next project :p

btw. You can add more examples of usage, maybe something with physic, and launch in a window :)
Check my source code editor for GLBasic - link Update: 20.04.2020

bigsofty

Looks cool, very smooth too!  :good:
Cheers,

Ian.

"It is practically impossible to teach good programming style to students that have had prior exposure to BASIC.  As potential programmers, they are mentally mutilated beyond hope of regeneration."
(E. W. Dijkstra)

erico

Damn my new computer cant start the app:
"unable to start correctly (0xc0150002)"

It is probably related to missing installed libs or MS c++ stuff on my system, but ones that don´t come as standard.

bigsofty

I had to disable one of my monitors(dual display) for it to work?
Cheers,

Ian.

"It is practically impossible to teach good programming style to students that have had prior exposure to BASIC.  As potential programmers, they are mentally mutilated beyond hope of regeneration."
(E. W. Dijkstra)

SnooPI

#5
Quote from: dreamerman
Interesting, another proof that GLB isn't restricted like some other tools and can be used beyond most popular libraries.

It was the idea ;)

Quote from: dreamerman
...I'm curious does they have tutorial or something, as most of those engines ended in oblivion :D

The last forum on 3D Rad (there is also a section for Unity) https://classdev.net/page/forum
Many still use it (apparently they are just unhappy that 3D Rad has not become open source).

-EDIT-
Important: my wrapper doesn't use the AngelScript version of 3D RAD (which is itself a lightweight wrapper), it just uses the 3D RAD 6 engine dll (and more precisely the 5.8.7.0 dll instead of the 5.8.0.0 of the original 3Impact).
I precise it to avoid the confusions with the 3D Rad Script Reference that there on the forum.

Quote from: dreamerman
...but I would prefer to use some solution that would try to maintain cross-platform nature of GLB (just in case).

Yes, it's better, but there are a lot of problems since the policy changes of Apple and Google (we are almost forced to use their programming tools).
I think Gernot must have a lot of trouble maintaining the cross-platform nature of GLB :sick: (I hope some of us can help him if he needs it).
Maybe using an external cross-platform engine to lighten the work.

The advantage of this engine (in addition to its many functions) is that it uses D3D, so the maximum speed under Windows.
This can be interesting for a game on Steam (in addition there is more and more good Directx wrapper for Linux, especially for Directx9)

Quote from: dreamerman
btw. You can add more examples of usage, maybe something with physic, and launch in a window :)

Of course, I'm working on it.

Quote from: erico
It is probably related to missing installed libs or MS c++ stuff on my system, but ones that don´t come as standard.

Yes it's a problem with the Visual C++ Runtimes.
http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&displaylang=en

Quote from: bigsofty
Looks cool, very smooth too! :good:

Thanks You ! This is one of the tips that are not described in the documentation  ;)

Quote from: bigsofty
I had to disable one of my monitors(dual display) for it to work?

Damn, already a big bug :D
It's very strange, I'll see if it comes from my initialization of the window.

erico

The Visual C++ install worked fine, and also fine on my 2 monitor system.
Very fast indeed. Can the camera be placed inside the shadows?
Collision feels VERY right!

Amazing project, will keep an eye into it.

SnooPI

Thanks erico.

Here are the demos provided with Impact at the time.
I also put the reference of all functions, and as you will see, there are really a lot (so big wrapper :sick:)



bigsofty

Yeah, one of my monitors is flipped in portrait mode. Whatever res the demo selected I don't think it was supported. A simple check to see if the res change was successful should fix it.

The main problem I see, from a personal point of view, is that the engine is DX based. D3D has limited appeal due to the lack of portability.
Cheers,

Ian.

"It is practically impossible to teach good programming style to students that have had prior exposure to BASIC.  As potential programmers, they are mentally mutilated beyond hope of regeneration."
(E. W. Dijkstra)

SnooPI

#9
My wrapper automatically takes the resolution of the desktop, but it is possible to let the user choose as in the demos of my last post.

The main problem for me is that source codes are closed. And from what I read on the 3Drad forums, it's unlikely to change because the developers have completely disappeared :(
And if big problems occur, I can not do anything if I can not access the source code (I'm not a magician).
Well, this engine may not be so interesting  :doubt: ... although the challenge of creating a wrapper for an exclusively Directx engine is fun.

Heiko

btw. to use the raylib library with glb should not really hard.But i have not enough time atm.

SnooPI

I think I tried this library and there was a problem.
But I can not remember which one O_O
I'll see it again.
Thanks Heiko.