OpenGL in external window?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

OpenGL in external window?

LawsonEnglish
So I had hopes of drawing with OpenGL to the new external windows, but
they were dashed early on.

OpenGL requires a "handle" returned by OpenGL primCreateRenderer: flags
x: y:  w:  h:

which evokes      <primitive: 'primitiveCreateRendererFlags'
module:'B3DAcceleratorPlugin'>

Creating a version the B3DAcceleratorPlugin that can accept some kind of
reference to an external window is beyond me.


It would allow a kool demo video though.

Anyone care to take a stab at it?

L

--
Squeak from the very start (introduction to Squeak and Pharo Smalltalk for the (almost) complete and compleate beginner).
https://www.youtube.com/playlist?list=PL6601A198DF14788D&feature=view_all

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian Kernighan


Reply | Threaded
Open this post in threaded view
|

Re: OpenGL in external window?

Bert Freudenberg
On 15.01.2014, at 15:24, Lawson English <[hidden email]> wrote:

> Creating a version the B3DAcceleratorPlugin that can accept some kind of reference to an external window is beyond me.
> It would allow a kool demo video though.

Why is having OpenGL in a second window more impressive than having an OpenGL subview in your main window?

I thought your point was to demo the multiple windows.

- Bert -




smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: OpenGL in external window?

LawsonEnglish
In reply to this post by LawsonEnglish
In this demo, I'd keep the main window as the IDE window and the external as the drawing window.

It would  demonstrate how flexible Squeak is that you could (if it is possible) redirect drawing to some other window.

Reading a bit more about supporting multiple windows with OpenGL, what is actually needed is to associate a context with a given window. The B3D code doesn't have the concept of more than one window (not surprising) so I'm guessing that it would be harder than I initially thought.

http://piumarta.com/cgi-bin/viewvc.cgi/squeak/trunk/platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c?diff_format=s&sortby=date&r1=967&r2=966&pathrev=967

It would be nice to see pyglet-level support for OpenGL in Squeak  http://www.pyglet.org but I'm not capable of contributing much to such a project, I'm afraid.


Lawson


On 1/15/14, 7:32 AM, Bert Freudenberg wrote:
On 15.01.2014, at 15:24, Lawson English [hidden email] wrote:

Creating a version the B3DAcceleratorPlugin that can accept some kind of reference to an external window is beyond me.
It would allow a kool demo video though.
Why is having OpenGL in a second window more impressive than having an OpenGL subview in your main window?

I thought your point was to demo the multiple windows. 

- Bert -




    


-- 
Squeak from the very start (introduction to Squeak and Pharo Smalltalk for the (almost) complete and compleate beginner).
https://www.youtube.com/playlist?list=PL6601A198DF14788D&feature=view_all 

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian Kernighan


Reply | Threaded
Open this post in threaded view
|

Re: OpenGL in external window?

timrowledge

On 15-01-2014, at 7:12 AM, Lawson English <[hidden email]> wrote:

> In this demo, I'd keep the main window as the IDE window and the external as the drawing window.
>
> It would  demonstrate how flexible Squeak is that you could (if it is possible) redirect drawing to some other window.

It would be great to see some serious usage after all this time. Surely there is someone out there that can take up the B3D stuff and make it Do The Right Thing?

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: RDR: Rotate Disk Right