Saturday, 26 December 2009

Collada

We created the Basic GUI.. able to do some OPENGL development. but the Real challange starts Now.

I have a BIG GIS application falls under different Utiities and Telicommuication...
for eg the applications are gas, Electric and telecommunications..

Each applications will have their own database and each application contains min 200+ different objects of different shapes falls under different catagires..

i have desktop application, a web appllication as well as a mobile application.. So the 3D application should fullfill all my needs

we cannot code for each and every object in the application.. so there should be an intelligent way where where i can reuse the objects in desktop , web , mobile application...

The solution is save the objects in a intermediate format and use them where ever necessary... then what is the format???

i did a small research i found different formats available those are collada,x3d/vrml, obj, 3DMLW

vrml/x3d popular format.. x3d is successor of vrml.. an ideal case if the application is web.
Collada: is a industry standard.. collada stands for COLLAborative Design Activity. basically the object is save in XML schema..

similarly differnt formats


I am going with collada..
1. open source,
2. ready api available.. lot of examples available..

for further information read

http://en.wikipedia.org/wiki/COLLADA
www.collada.org

GUI IN GLUI


This post explains how to get started with GLUI

latest version if GLUI is GLUI 2.7

Download GLUI devpack 2.36 from http://www.nigels.com/glt/devpak/glui.2.36-2.DevPak or source code from http://sourceforge.net/projects/glui/

the GUI looks like in the picture

3D GUI

In general many Gaming application have less GUI . but my 3D application requires Rich GUI Controls i made a big research to find what are the OPEN SOURCE API available to start the GUI developemnt which has binding with OPENGL

1. GLUT : Grafic library utility tool kit is very easy to use.. it has extensive library buts lack rich GUI controls
2. GLUI : glui is built on top of GLUt it has almost all basic GUI contols which required to develop a demo application. ( I am first going with this )
3. QT : QT is GUI Framework from NOKIA. it has very rich GUI controls (GOOGLE EARTH developed usint QT).. correct choice for a Commercial application...

as i am going for a demo application i will stict to GLUI as of now but Going farword i will move to QT..

Friday, 18 December 2009

3D Application

in my previous pots i explained how to start the basic openGl development.. lets start with how to develop a 3d application.. i will explain how i am doing my 3D application..

I am Developer to a GIS Application where the language is propritory .. so no direct binding to OPENGL is available .. but can communicate to C libraries.. in a different fasion

Here is my requirements.. lets use Agile way of desciption

As a GIS user i select the object in map and select "View 3D" this should open a window showing objects in 3D
1. As a GIS user I must able to see my objects in 3D..
2. As a GIS User I must ableto sellect, rotate the objects
3. As a GIS user once I select the Object I must able to edit the fields/attributs of the object which should reflect in map.
4. As a GIS user i should able to see all the available objects in the database in tree view.. selecting any object in the tree view should show the selected object in 3D.

There are my basic requirements.. I start posting in different posts on how i am developing the above application

Sunday, 15 November 2009

Setting Environment


I do generally develop applications for the Utility industries as a part time. So Management doesn’t provide any Commercial tools as there is no budget for my part time development. So what I have to do is, to search the best tool available to full fill my need and that should be an open source. After the completion of the development that particular application can go to market.

So open source tool will be less risk when compared to proprietary tools

Here I want a C++ editor. As a magik developer I don’t have Visual studio and I can’t get it. All I have is Emacs. But I found DevC++ as very good editor for my 3D development.


Setting Environment for 3D development

1. Download Dev C++ from Bloodshed and install from here
2. You can development 3D in Opengl and Directx. Opengl is industry standard and almost all hardware vendors and operating systems supports Opengl (windows by default comes with Opengl library). Directx is a windows specific implementation so it is a platform dependent.
3. Opengl is just provides rendering API, but we need a windowing system for interaction. GLUT serves the purpose. I recommend FreeGLUT rather than GLUT
Download FreeGLUT devpack and install from here
4. Start Dev C++. Goto File -> New Project -> Multimedia
5. Select FreeGlut icon. This opens a project with a default template
6. Press F9 to compile. please see the output of the project.

Wednesday, 4 November 2009

GL init()

I started this blog because, even though there are lot of stuff available for OpenGL, still the flow of where to start, how to do. when to do what.. all the basic things are missing for the dummies like me.

I will capture all my problems , strrugles, and the solutions for the problems i faced.

Stay tuned for the next post

engine.count()