Author Topic: Impact Wrapper -D3D9 Wrapper-  (Read 810 times)

Offline Snoopy

  • Dr. Type
  • ****
  • Posts: 276
    • View Profile
Impact Wrapper -D3D9 Wrapper-
« on: 2019-Apr-28 »
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.

Offline dreamerman

  • Global Moderator
  • Dr. Type
  • *******
  • Posts: 288
    • View Profile
    • my personal website
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #1 on: 2019-Apr-28 »
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

Offline bigsofty

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 2622
    • View Profile
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #2 on: 2019-Apr-28 »
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)

Offline erico

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 4203
    • View Profile
    • Portfolio
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #3 on: 2019-Apr-29 »
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.

Offline bigsofty

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 2622
    • View Profile
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #4 on: 2019-Apr-29 »
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)

Offline Snoopy

  • Dr. Type
  • ****
  • Posts: 276
    • View Profile
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #5 on: 2019-Apr-29 »
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.
« Last Edit: 2019-Apr-29 by Snoopy »

Offline erico

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 4203
    • View Profile
    • Portfolio
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #6 on: 2019-Apr-30 »
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.

Offline Snoopy

  • Dr. Type
  • ****
  • Posts: 276
    • View Profile
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #7 on: 2019-Apr-30 »
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:)
 


Offline bigsofty

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 2622
    • View Profile
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #8 on: 2019-Apr-30 »
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)

Offline Snoopy

  • Dr. Type
  • ****
  • Posts: 276
    • View Profile
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #9 on: 2019-May-01 »
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.
« Last Edit: 2019-May-01 by Snoopy »

Offline Heiko

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 500
    • View Profile
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #10 on: 2019-May-01 »
btw. to use the raylib library with glb should not really hard.But i have not enough time atm.
Ryzen 5 2400G - MSI B450 Tomahawk

Offline Snoopy

  • Dr. Type
  • ****
  • Posts: 276
    • View Profile
Re: Impact Wrapper -D3D9 Wrapper-
« Reply #11 on: 2019-May-02 »
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.