Lazarus

Programming => Graphics and Multimedia => Graphics => Topic started by: apeoperaio on January 11, 2017, 09:10:18 am

Title: 3D component palette for lazarus as in Delphi (DeleD?)
Post by: apeoperaio on January 11, 2017, 09:10:18 am
Delphi 10 (DX) offers some 3D visual components (http://docwiki.embarcadero.com/RADStudio/Seattle/en/FireMonkey_3D):
- TViewPort3d (something like lazarus TOpenGLControl?);
- 3D scene components: TCamera, Tlight, TDummy and TProxyObject;
- a set of 3D Shapes components (TPlane, TDisk, TCube, TMesh, TSphere...);
- a set of 3D Layers components;
- a set of Materials components.

There is something similar in Lazarus?
I know there is GLScene as a separated package, I was just wondering if there is the chance to introduce these 3D components in lazarus existing component palette.
DeleD has something similar.

andrea
Title: Re: 3D component palette for lazarus as in Delphi (DeleD?)
Post by: Thaddy on January 11, 2017, 09:16:25 am
Yes. Install GLScene ;)
Title: Re: 3D component palette for lazarus as in Delphi (DeleD?)
Post by: JuhaManninen on January 11, 2017, 11:29:54 am
Yes. Install GLScene ;)
Exactly. It registers its components to the existing component palette, just as you wished.
Unfortunately GLScene seems to support only Windows. Somebody should fork it and make a cross-platform version.
Title: Re: 3D component palette for lazarus as in Delphi (DeleD?)
Post by: marcov on January 11, 2017, 12:37:42 pm
Firemonkey is a different thing altogether, but afaik newer Delphi's even have directwrite components in the VCL.

I assume it is possible, but somebody simply has to find or create direct* headers, maintain them, and work on the components.
Title: Re: 3D component palette for lazarus as in Delphi (DeleD?)
Post by: Cyrax on January 11, 2017, 06:19:44 pm
Here is few links for pascalized DirectX headers:

http://clootie.ru/delphi/download_dx92.html
https://sourceforge.net/projects/delphi-dx9sdk/
http://directxfordelphi.blogspot.com/
http://www.jsbmedical.co.uk/DirectXForDelphi/
Title: Re: 3D component palette for lazarus as in Delphi (DeleD?)
Post by: Akira1364 on January 15, 2017, 04:32:35 am
One more link to add to the list Cyrax provided:

https://github.com/CMCHTPC/DelphiDX12

Despite the name, it is fully FPC compatible, and definitely the most up-to-date DirectX header I am aware of.

I would also agree that GLScene might be what you're looking for. (Fun fact: FireMonkey (the Delphi component you referenced) is actually itself based on a FORK of GLScene, which was called DXScene (and was really just a stripped down version of GLScene that used DirectX 9 instead of OpenGL as a rendering backend.) To be quite honest, as well, I would say that the current revision of FireMonkey has far from caught up to where the current revision of GLScene is today, in terms of features/e.t.c.

You might also want to try out the Castle Game Engine, which is extremely robust (and much more modern "internally" than GLScene... far less slow GLBegin/GLEnd stuff), but is also perhaps a little less easy to get started with due to the lower number of "visual" components it provides.

https://github.com/castle-engine/castle-engine
Title: Re: 3D component palette for lazarus as in Delphi (DeleD?)
Post by: apeoperaio on January 16, 2017, 10:52:56 am
thanks a lot for all hints and suggestions