Re: [Lazarus] OpenGL conversion

2011-02-15 Thread Mattias Gaertner
On Tue, 15 Feb 2011 10:14:33 +0200
Juha Manninen  wrote:

>[...]
> I guess TOpenGLControl could work with Delphi, too.

Feel free to create a VCL backend.
A QT backend is missing too.


Mattias

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] OpenGL conversion

2011-02-15 Thread Juha Manninen
Reimar Grabowski kirjoitti maanantai 14 helmikuu 2011 17:23:24:
> > DeleD has types and functions defined only on Windows.
> 
> Should be no problem if the Lazarus prog shall only run on windows. ;)

No, it must run on many platforms. Otherwise it makes no sense to port it.
At least I wouldn't be interested in such port. :-)

[...]
> >  wglUseFontBitmaps
> >  wglUseFontOutlines
> 
> Not available on other platforms. Can not be ported. You need to emulate
> these functions (with freetype you should be able to code a multi platform
> solution). Better replace them with a different text-output function. (Not
> that easy)

FreeType. I could ask from DeleD forum if they have an idea how to convert 
such code.

[...]
> >  ChoosePixelFormat
> >  SetPixelFormat
> 
> Needs to be done on context creation and is platform dependend.
> TOpenGLControl does this for you in Lazarus but AFAIR it is not very
> flexible regarding the PixelFormat. That is no problem if the Delphi
> program does not do anything fancy (for example initializing an
> akkumulation buffer or such nonsense).
> 
[...]
> 
> So if automatic conversion shall be achieved the converter must know about
> the platform dependent differences and have functions in place to replace
> the windows stuff. That is not easy to achieve especially without OpenGL
> knowledge. Perhaps you want to take a look at
> $LazarusDir/components/opengl/examples. You will see that the context
> handling is taken care of by TOpenGLControl so you don't need most of the
> windows functions you named. I fear at the moment the only way to port the
> program is by hand.

I guess TOpenGLControl could work with Delphi, too.
The preferred way to port would be to support both Delphi and Lazarus with the 
same code base. If it gets too difficult then they must be separated.

Juha

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] OpenGL conversion

2011-02-14 Thread Juha Manninen
Paul Nicholls kirjoitti tiistai 15 helmikuu 2011 04:40:12:
> Hi Juha,
>   IIRC, Freepascal/Lazarus uses the units GL.pas, and GLU.pas as opposed to
> Delphi's OpenGL.pas.
> 
> I think this is correct, and I hope this helps :)

Hi

Yes, that is the easy part.
Delphi converter in Lazarus already replaces the unit names automatically.
The problem comes with Windows specific types and calls.

Juha

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] OpenGL conversion

2011-02-14 Thread Paul Nicholls
- Original Message - 
From: "Juha Manninen" 

To: "Lazarus mailing list" 
Sent: Monday, February 14, 2011 5:12 AM
Subject: [Lazarus] OpenGL conversion



Hi

Are there any conversion guides or examples of how OpenGL Delphi program 
can

be converted to Lazarus.
I would try to automate it with Delphi converter but I don't know much 
about

graphics programming myself.

I am testing the converter with DeleD 3-D program which would be an 
extremely

cool porting project.

On January Birger Jansen wrote:
 Project conversion Delphi -> FreePascal: success!
which mentions OpenGL so it seems to be possible.


Juha



Hi Juha,
 IIRC, Freepascal/Lazarus uses the units GL.pas, and GLU.pas as opposed to 
Delphi's OpenGL.pas.


I think this is correct, and I hope this helps :)

cheers,
Paul 



--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] OpenGL conversion

2011-02-14 Thread Reimar Grabowski
On Mon, 14 Feb 2011 07:51:35 +0200
Juha Manninen  wrote:

> DeleD has types and functions defined only on Windows.
Should be no problem if the Lazarus prog shall only run on windows. ;)

> At least types:
>  HGLRC
>  PixelFormatDescriptor
AFAIR HGLRC is not needed on other platforms and the PFD must be ported 
depending on the OS specific 'glue-library' for example GLX on Linux.
 
> and functions:
>  wglMakeCurrent
>  wglDeleteContext
>  wglCreateContext
There are equivalent functions for other platforms glxMakeCurrent etc. (This is 
context handlig stuff)

>  wglUseFontBitmaps
>  wglUseFontOutlines
Not available on other platforms. Can not be ported. You need to emulate these 
functions (with freetype you should be able to code a multi platform solution). 
Better replace them with a different text-output function. (Not that easy)

>  SwapBuffers
Should call wglSwapBuffers and belongs to the context handling stuff.

>  ZeroMemory
Don't know what it does.

>  ChoosePixelFormat
>  SetPixelFormat
Needs to be done on context creation and is platform dependend. TOpenGLControl 
does this for you in Lazarus but AFAIR it is not very flexible regarding the 
PixelFormat. That is no problem if the Delphi program does not do anything 
fancy (for example initializing an akkumulation buffer or such nonsense).

>  ActivateRenderingContext
Don't know what it does.

> There are more...
So if automatic conversion shall be achieved the converter must know about the 
platform dependent differences and have functions in place to replace the 
windows stuff. That is not easy to achieve especially without OpenGL knowledge.
Perhaps you want to take a look at $LazarusDir/components/opengl/examples. You 
will see that the context handling is taken care of by TOpenGLControl so you 
don't need most of the windows functions you named.
I fear at the moment the only way to port the program is by hand.

R.
-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] OpenGL conversion

2011-02-13 Thread Juha Manninen
Reimar Grabowski kirjoitti maanantai 14 helmikuu 2011 05:44:18:
> For OpenGL calls no conversion should be needed. GL works the same
> independent of language/OS (except context handling and some OS-specific
> extensions WGL_*, GLX_*, etc.). OpenGL is just a bunch of commands which
> go directly to the graphics driver.
> 
> > I would try to automate it with Delphi converter but I don't know much
> > about graphics programming myself.
> 
> Just go ahead. If you have any problems ask again. I know a thing or two
> about OpenGL and graphics programming in general.

DeleD has types and functions defined only on Windows.
At least types:
 HGLRC
 PixelFormatDescriptor

and functions:
 wglMakeCurrent
 wglDeleteContext
 wglCreateContext
 wglUseFontBitmaps
 wglUseFontOutlines
 SwapBuffers
 ZeroMemory
 ChoosePixelFormat
 SetPixelFormat
 ActivateRenderingContext

There are more...

Juha

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] OpenGL conversion

2011-02-13 Thread Reimar Grabowski
On Sun, 13 Feb 2011 18:39:37 +0100
Bo Berglund  wrote:


> What about GLScene? Isn't that project restarted and with FPC/Lazarus
> support?
> http://wiki.lazarus.freepascal.org/GLScene

GLScene <> pure OpenGL
If the Delphi code uses GLScene, you need it on Lazarus as well. If it does 
not, GLScene does not help.

R.
-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] OpenGL conversion

2011-02-13 Thread Reimar Grabowski
On Sun, 13 Feb 2011 20:12:48 +0200
Juha Manninen  wrote:

> Hi
> 
> Are there any conversion guides or examples of how OpenGL Delphi program can 
> be converted to Lazarus.
For OpenGL calls no conversion should be needed. GL works the same independent 
of language/OS (except context handling and some OS-specific extensions WGL_*, 
GLX_*, etc.).
OpenGL is just a bunch of commands which go directly to the graphics driver.

> I would try to automate it with Delphi converter but I don't know much about 
> graphics programming myself.
Just go ahead. If you have any problems ask again. I know a thing or two about 
OpenGL and graphics programming in general.

R.
-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] OpenGL conversion

2011-02-13 Thread Bo Berglund
On Sun, 13 Feb 2011 20:12:48 +0200, Juha Manninen
 wrote:

>Hi
>
>Are there any conversion guides or examples of how OpenGL Delphi program can 
>be converted to Lazarus.
>I would try to automate it with Delphi converter but I don't know much about 
>graphics programming myself.
>
>I am testing the converter with DeleD 3-D program which would be an extremely 
>cool porting project.
>
>On January Birger Jansen wrote:
>  Project conversion Delphi -> FreePascal: success!
>which mentions OpenGL so it seems to be possible.
>
>

What about GLScene? Isn't that project restarted and with FPC/Lazarus
support?
http://wiki.lazarus.freepascal.org/GLScene


-- 
Bo Berglund
Developer in Sweden


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] OpenGL conversion

2011-02-13 Thread Corpsman

I succesfully ported my Ballanced Game from Delphi OpenGL to Lazarus OpenGL ( 
Linux, Win compatible )

but i had to do many things by hand.

Maybe my [url=http://corpsman.de/index.php?doc=opengl/clear_engine]Clear 
Engine[/url] sample could give you a little hint to succesfully port your 
Application.

Here i use the TOpenGLControl component which is part Lazarus ( only need to be 
installed with the package graph )


sincerely

Corpsman

-- 

Auf meiner Homepage www.Corpsman.de ist immer was los, ständig wird sie aktualisiert und erweitert. Da ist für jeden was dabei.

-Ursprüngliche Nachricht-
Von: "Juha Manninen" 
Gesendet: Feb 13, 2011 7:12:48 PM
An: "Lazarus mailing list" 
Betreff: [Lazarus] OpenGL conversion

>Hi
>
>Are there any conversion guides or examples of how OpenGL Delphi program can 
>be converted to Lazarus.
>I would try to automate it with Delphi converter but I don't know much about 
>graphics programming myself.
>
>I am testing the converter with DeleD 3-D program which would be an extremely 
>cool porting project.
>
>On January Birger Jansen wrote:
>  Project conversion Delphi -> FreePascal: success!
>which mentions OpenGL so it seems to be possible.
>
>
>Juha
>
>--
>___
>Lazarus mailing list
>Lazarus@lists.lazarus.freepascal.org
>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

___
Schon gehört? WEB.DE hat einen genialen Phishing-Filter in die
Toolbar eingebaut! http://produkte.web.de/go/toolbar

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] OpenGL conversion

2011-02-13 Thread Juha Manninen
Hi

Are there any conversion guides or examples of how OpenGL Delphi program can 
be converted to Lazarus.
I would try to automate it with Delphi converter but I don't know much about 
graphics programming myself.

I am testing the converter with DeleD 3-D program which would be an extremely 
cool porting project.

On January Birger Jansen wrote:
  Project conversion Delphi -> FreePascal: success!
which mentions OpenGL so it seems to be possible.


Juha

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus