Mogle
| resources: | Home Mailing List Installation Source Code Members Screenshots |
|---|
What's New
- Sucess with XPCOM<->Plugin approach
- Added initial xbl work to cvs
- Uploaded src's into cvs
- mozdev.org
Other Stuff
Mozilla Open GL Extension
In order to use the mozilla platform to make complex applications with 3D graphics it is necessary to have a means of rendering to multiple opengl contexts. This project contains various ways to do this. It collates documentation, links, code and experiences to help mozilla developers build their killer apps
StatusXPCOM <=> Native Plugin Windows
Completed sample application demonstrating the use of a simple plugin to acquire the rendering area and an xpcom component to do the work. Currently only working under linux with a gtk2 mozilla build - will target more platforms soon. This approach works well and solves the multiple rendering context problem elegantly. See the screen shots.
XPCOM wrapper of the GL and GLUT API's.
One can render opengl content to a GLUT window
The CVS version compiles and largely works on my machine, your results may vary...
There isn't an installable download yet.
Acknowlegement: The bulk of the source for this extension was provided by Robert Ginda.
If you do not get a response to a question posted in this forum, please try sending a message to the project's mailing list or to the project owner directly.
- [1] Submitted by: carey Tuesday December 2nd 2003
-
Feel free to leave comments here.
- [2] Submitted by: Jed Thursday January 22nd 2004
-
Sweet stuff!
I would love to see some more examples (code, previews, etc.). This would definitally leverage Mozilla/the platform if done correctly. - [3] Submitted by: Rodney McDonell on Saturday 28th August 2004 at 00:42 -0400
-
I'm not sure if it would be terribly usful, infact it could lead to those annoying adds in the middle of a webpage displayed in 3D, but sometype of markup language that is linked to the OpenGL libraries would be pretty cool... Notice, i said cool. Thats different to useful :). Although i guess it could spice up online games embeded into web pages or extreamly portable games...? Maybe a markup language wouldnt be the way to go, maybe some bindings in JS? Now im just rambling :(
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040614 Firefox/0.8 - [4] Submitted by: Carey Stevens on Saturday 28th August 2004 at 20:54 -0400
-
Oh, believe me it is very useful. I have developed this more than is here at the moment. I have used this to write a cross-platform web delivered application for teaching medical students the ECG/EKG. Using opengl I have an interactive torso and in another view port opengl plotting of electrical potential all hooked into a simulation XPCOM component.
I have also written an application to teach students about DNA using this technology. Again a 3D interactive in a cross-platform, web deliverable. Currently running as an exhibit for 2 years in the Auckland Museum, New Zealand.
I hope to make these apps and more technology available soon. Legacy licenses to deal with first on parts of the code.
FYI the models in the opengl are loaded from an XML format. The plugin and component provide for scripting from JS too.
Watch this space (a little bit longer....)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040625 Firefox/0.9 - [5] Submitted by: Carey Stevens on Saturday 28th August 2004 at 21:12 -0400
-
I should also note now that this project has become part of the IUPS Physiome Project.
The Physiome Project is a worldwide public domain effort to provide a computational framework for understanding human and other eukaryotic physiology. It aims to develop integrative models at all levels of biological organisation, from genes to the whole organism via gene regulatory networks, protein pathways, integrative cell function, and tissue and whole organ structure/function relations. Current projects include the development of:
* ontologies to organise biological knowledge and access to databases
* markup languages to encode models of biological structure and function in a standard format for sharing between different application programs and for re-use as components of more comprehensive models
* databases of structure at the cell, tissue and organ levels
* software to render computational models of cell function such as ion channel electrophysiology, cell signalling and metabolic pathways, transport, motility, the cell cycle, etc. in 2 & 3D graphical form
* software for displaying and interacting with the organ models which will allow the user to move across all spatial scales
We are targeting the mozilla platform for many of these technologies, for all the usual reasons, cross-platform, networked, separetion of simulation code, model content and interfaces etc. eg a Joe Biologist wants to use our simulation engine but load his own model and use the interface designed for biologists. As opposed to the Teacher demonstrating eye surgery to a student - same engine, different models, different interface and likely to be on custom haptic hardware.Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040625 Firefox/0.9 - [6] Submitted by: SZ on Thursday 17th February 2005 at 17:11 -0500
-
Very nice implementation of embedding opengl in mozilla!
I noticed that it works currently only on linux for a gtk2 mozilla build. I tried implementing it in windows but the glut window doesnt show up though it pops up while running xpcshell. Is there a way of embedding the glut window into the browser?Help greatly appreciated.
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 - [7] Submitted by: Carey on Thursday 17th February 2005 at 20:53 -0500
-
I have now moved much of the guts of this project to a development site specific to the use I have for this technology.
www.physiome.net/software/zinc
There you can try the windows version, of our application. It doesn't use glut. We have our own heavy weight 3D modelling application. We don't use glut in the linux version either, we use the Xembed protocol via the GTK2 plug mechanism.
Cheers
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 - [8] Submitted by: SZ on Friday 18th February 2005 at 15:07 -0500
-
Thanks for the prompt reply!
Actually i am trying to create a simple opengl com object similar to mogle. I cant seem to get the window into the browser, i was wondering how did u get it done? Did you embed the Javascript into the html because in my case like i mentioned before nothing happens on loading the html page. By the way, i looked into the zinc project looks real promising but after installing the plugins, when i tried to view the examples firefox just crashes :(thanks again.
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 - [9] Submitted by: Carey on Saturday 19th February 2005 at 01:39 -0500
-
Sorry to hear it crashed, it works for my collaborators...
If you contact me directly I can provide you some bits of code.
carey at zestgroup.comMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 - [10] Submitted by: shaheen on Tuesday 8th March 2005 at 14:45 -0500
-
hi,
I have been trying to setup a gtk window within the browser plugin window using the xembed protocol and help from the following link
but have not been able to do so. All that shows up is blank window. I have made the necessary changes to the NP_Initialize function as well as the GetValue function call. I noticed that you have a working plugin based on the xembed protocol.
The code that i use is as follows:-
in the SetWindow Function Call ->GtkWidget *plug,*label;
plug = gtk_widget_new((Window)aWindow);
gtk_widget_realize(plug);
label = gtk_label_new("New Label");
gtk_container_add(GTK_CONTAINER(plug),label);
gtk_widget_show(label);
gtk_widget_show(plug);Can you please tell me what i am doing wrong here??
thanks
shaheen
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050225 Firefox/1.0.1 - [11] Submitted by: Carey on Wednesday 9th March 2005 at 15:07 -0500
-
I am not sure what's wrong with yours, my code looks like this (sceneWidget is our own custom gtk opengl widget)
GtkWidget* windowPlug = gtk_plug_new((GdkNativeWindow)windowHandle);
GtkWidget* packBox = gtk_hbox_new(PR_FALSE, 0);
gtk_box_pack_start(GTK_BOX(packBox), sceneWidget, PR_TRUE, PR_TRUE, 0);
gtk_container_add(GTK_CONTAINER(windowPlug), packBox);
gtk_widget_show(packBox);
gtk_widget_show(windowPlug);Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 - [12] Submitted by: Chris B on Tuesday 22nd March 2005 at 11:34 -0500
-
hi Carey,
i am trying to implement a simple vrml plugin in firefox. When i have a single plugin instance everythings fine. but when i have two plugin instances in the same page only one windows shows up. I noticed you saying something about solving the multiple rendering context problem in mozilla. is it the same problem i am facing? how did you work around it?
thanks for your help,
ChrisMozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 - [13] Submitted by: Carey on Saturday 14th May 2005 at 23:00 -0400
-
Hi Chris,
The problem you describe, doesn't sound like the problems I had.
Mine is not a conventional plugin, it is a plugin that passes a rendering area to an extension. When I refer to the multiple rendering context problem, I am speaking of avoiding the normal situation where the plugins are self contained instances and cannot talk to each other, limiting the complexity of applications that can be built with them. I was not refering to any bug or technical difficulty. Just design issues for complex mozilla based applications.Cheers
Carey
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4
To add a comment fill in the form below. HTML is not allowed in posts. Use two carriage returns to start a new paragraph.
This is not provided as an advertising medium, so posts with excessive numbers of links in will be discarded, as they are assumed to be spam. Javascript is used to stem the flow of auto-submissions.