[Pharo-project] Morpheas , bringing Morphic to Opengl (3d GUIs)
siguctua at gmail.com
Mon Jan 30 10:29:57 EST 2012
I am too old for this ( being there, ate that ), but you can try :)
And you have my full support.
I am currently writing documentation to cover different aspects of NativeBoost.
And of course, i continue my work on Athens, Cairo and NBOpenGL..
someone please lend me the day-stretcher , to have 48 hours/day :)
On 30 January 2012 15:55, dimitris chloupis <thekilon at yahoo.co.uk> wrote:
> There are no screenshots per se , the project is in "reading documentation
> and planning stage", but I have commited a small OpenGL morph that I have
> grabed from the croquet repo. Me and some other people at #squeak have been
> sucessful at embeding OpengGL context on screen or inside a morph widget.
> you can take a look at my friends Nehe tutorials in Squeak here
> I posted here to coordinate effort with all parties and make sure I make my
> project 100% compatible with existing Pharo and any future Pharo.
> Each concept is based on an Age that works like a cascade. The one depends
> on the other.
> So Proteas will need a stable, reliable and at least basic Morpheas. Proteus
> will be a visual programming environment taken to the next level. As you
> know already Pharo and smalltalk perform very well for visual programming.
> My idea is to take this abit further.
> An idea/theory I want to implement is my "LOD theory" . According to this
> idea, not only you can represnt code visualy but you can represent in a
> context that moves in Leves Of Detail. This way the user will be able to see
> a "bird's eye" vew of the code, visual, meaning graphical blocks / elements
> representing section of code which many contain several classes/ objects.
> The user will control the level of detail which you will able to see more
> and more deeply the structure of you code. Obviously code does not change,
> the way you view it changes and help you understand the connection even in
> nightmare scenarios like spaggeti code. That means that will implement
> several navigational tools for exploring these visualisation and all of them
> will depend on the 3d nature of Morpheas.
> Beside code visualisation I would like to take this theory in the actual
> inteface as well. For example LOD will appear to all tool like the debugger
> , system browser , TDD etc The user will be able to operate those tool in
> begineer / advanced and expert modes.
> Code will also be contstucted in a visual ways, obviously something similar
> to scratch or build your own blocks, however full acess to the language will
> be allowed. Have several ideas there how that is possible.
> Another important theory I want to test is my "real time context sensitive
> documentation". In a sense the screen will dedicate one 1/3 or 1/4 of its
> estate to a documentation column that will be there all the time unless the
> user decides to close it. The documentation will change according to what
> the user selects and types making external documentation redundant. This
> documentation will of course leverage class documentation strings but it
> migh extend the whole facility as well.
> Finally Proteas will operate through a 3d world powered by Morpheas Graphic
> Engine, in a style of an RPG game, making sure users around the world can
> interact , share code and even collab real time. The RPG game will offer
> challanges and tutorials to users and its an oportunity for me to practice
> my 3d skills. Obviously I will be borrowing alot of code from Open Cobalt
> since this part overlaps in that area.
> Orpheas will be completely made via Proteas and of course Morpheas as a
> proof of concept. It will be a DAW GUI for Supercollider.
> A DAW is a Digital Audio Workstaion , its a professional Music software
> which has tracks, mixers , eq, audio effects and anything a musician needs
> to create polished music tracks. I will use Supercollider as the main engine
> here , supercollider is an extremely power audio server that can perform
> complicate and sophisticate functions on audio and music by receiving OSC
> messages. So you can say that audio wise Opheas will do nothing more than
> calling Supercollider functions.
> You can find Supercollider here
> Orpheas will follow Ableton Live as a design model
> My plan is 2 year for Morpheas then another 2 years for Proteas and then
> another 2 years for Orpheas. But its not a strict plan as I said I am still
> in planning phase and anything can happen. Hopefull I can get other people
> to work on it too, but for the time being I will be alone making sure there
> is some gravity on my claims.
> My goal obviously because the project is too ambitious and its pure insanity
> to implement all those features by myself is to borrow as much as I can
> existing code and reuse it. I have many ideas, but I am aware that putting
> ideas to practice is "abit" harder than one thinks. Will see how it goes for
> the time being my only concetration is Morpheas and how well opengl can work
> inside Pharo.
> So anyone who can help me with an advice or a couple of links will provide
> me with some very valuable help.
> From: Janko Mivšek <janko.mivsek at eranova.si>
> To: Pharo-project at lists.gforge.inria.fr; dimitris chloupis
> <thekilon at yahoo.co.uk>
> Sent: Monday, 30 January 2012, 15:58
> Subject: Re: [Pharo-project] Morpheas , bringing Morphic to Opengl (3d GUIs)
> Hi Dimitris,
> Your Ephestos sounds promising, can you post some screenshot as well or
> is too early? Also, can you explain us Proteas and Orpheas ...
> Best regards
> S, dimitris chloupis piše:
>> I have started my first project with Pharo (and hopefully Squeak too)
>> called "Ephestos" .
>> Ephestos is divided into 3 areas/ elements / concepts : a) Morpheas b)
>> Proteas c) Orpheas
>> Morpheas is an effort to bring Morphic to OpenGL and to implement 3d
>> guis , that can be designed in blender ( probably will implement a addon
>> exporter too from blender to Pharo) and deployed in Pharo , minimising
>> coding and maximising ease of use, since a 3d gui can be fairly complex
>> to program.
>> The reason why I am posting here is for your help. I am very new to
>> Pharo and smalltalk and Ephestos is an extremely ambitious project which
>> I hope to be commited for at least the next 5-6 years which I plan to
>> release version 1.
>> My first rule is of course , because the project is already very
>> ambitious, "code reuse". I want to be informed what efforts there have
>> been towards that direction .
>> Mr Stef published recently a great PDF document titled "Pharo's Vision
>> : Goals , Processes and Development effort" in it there is the following
>> quote about Morphic
>> "What have been done so far. Igor Stasenko did the following:
>> • Designed and implemented a new canvas API and all the necessary
>> to generate adequate code for different backends.
>> • Deep integration to be able to inject frames into existing VMstructure
>> can you confirmthis?)
>> • Designed and implemented a new textMorph, paragraph and other classes.
>> • Defined a default back-end.
>> • Defined a Cairo back-end.
>> • Defined an openGL back-end (using an OpenGL calling framework). "
>> So I guess my question should be directed towards Igor, but maybe
>> someone else also works in this. I am interested in any information
>> about Morphic and OpenGL . I am also interested even on partial support
>> of graphics engine like Irrlicht , Ogre and Open Cobalt.
>> My main focuse is Nativeboost cause it appear to have a new enhance FFI,
>> and of course the possibility of inline Assembly code.
>> Has anyone , advice , suggestions , ideas and hopefully some
>> documentation I can use ?
>> I am already studying both OpenGL and Nativeboost / NBOpenGL .
> Janko Mivšek
> Svetovalec za informatiko
> Eranova d.o.o.
> Ljubljana, Slovenija
> tel: 01 514 22 55
> faks: 01 514 22 56
> gsm: 031 674 565
More information about the Pharo-dev