coin3d – c++ visualization library (soqt...
TRANSCRIPT
![Page 1: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/1.jpg)
Coin3d – C++ Visualization Library(SoQt interface)
Starters Guide
Carlos Vázquez Hurtado
Barcelona, july.12.2006
![Page 2: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/2.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. Introduction2. Coin3D Installation1.1. How to get Coin3D1.2. How to install Coin3D1.3. How to Set Microsoft Visual C++ to work with Coin3D
3. Sample CodeSome introductory code
4. Compilation4.1. How to compile under MSVC4.2. How to compile under Linux
5. Further reading and examples 5.1. References5.2. Examples
1. Introduction2. Coin3D Installation1.1. How to get Coin3D1.2. How to install Coin3D1.3. How to Set Microsoft Visual C++ to work with Coin3D
3. Sample CodeSome introductory code
4. Compilation4.1. How to compile under MSVC4.2. How to compile under Linux
5. Further reading and examples 5.1. References5.2. Examples
Outline
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 3: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/3.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
Created in 1995, Coin3D is a high-level 3D graphics toolkit for developing cross-platform real-time 3D visualization and visual simulation software. Coin3D is built on OpenGL and uses scene graph data structures to render 3D graphics in real-time. Coin3D is fully compatible with SGI Open Inventor 2.1, the de facto standard for 3D visualization and visual simulation software in the scientific and engineering community. Additional features include VRML97 support, 3D sound, 3D textures, and parallel rendering on multiple processors. SoQt is a library which provides the bridge between Coin3D visualization library and Qt 2D user interface library.
Created in 1995, Coin3D is a high-level 3D graphics toolkit for developing cross-platform real-time 3D visualization and visual simulation software. Coin3D is built on OpenGL and uses scene graph data structures to render 3D graphics in real-time. Coin3D is fully compatible with SGI Open Inventor 2.1, the de facto standard for 3D visualization and visual simulation software in the scientific and engineering community. Additional features include VRML97 support, 3D sound, 3D textures, and parallel rendering on multiple processors. SoQt is a library which provides the bridge between Coin3D visualization library and Qt 2D user interface library.
About Coin3D
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 4: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/4.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
Coin3D is supported on the following platforms:
• MS/Windows -- 95, 98, NT 4.0, ME, 2000, and XP • Unix/X11 -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX,
IBM AIX, SGI IRIX and a wide range of others • Macintosh -- Mac OS X
Coin3D is supported on the following platforms:
• MS/Windows -- 95, 98, NT 4.0, ME, 2000, and XP • Unix/X11 -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX,
IBM AIX, SGI IRIX and a wide range of others • Macintosh -- Mac OS X
Multiplatform
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 5: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/5.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Qt- C++ GUI library
Coin3D is released in two different editions:
• The Coin3D Professional Edition for commercial software development (besides there is a commercial evaluation version).
• The Coin3D Free Edition for free software development.
Coin3D is released in two different editions:
• The Coin3D Professional Edition for commercial software development (besides there is a commercial evaluation version).
• The Coin3D Free Edition for free software development.
License
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 6: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/6.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. How to get the program1.1. From Coin3d webpage1.2. From the IOC’s Intranet
2. How to install the program2.1. Windows Installation2.2. Debian Linux Installation
3. How to configure the programMSVC configuration
1. How to get the program1.1. From Coin3d webpage1.2. From the IOC’s Intranet
2. How to install the program2.1. Windows Installation2.2. Debian Linux Installation
3. How to configure the programMSVC configuration
Installation
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 7: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/7.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. From Trollech’s webpage (Win/Linux)
http://www.coin3d.org/
2. From the IOC’s Intranet (Win)
mana\\ioc\soft\qt
3. Linux pre-build packages.
1. From Trollech’s webpage (Win/Linux)
http://www.coin3d.org/
2. From the IOC’s Intranet (Win)
mana\\ioc\soft\qt
3. Linux pre-build packages.
How to get the program
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 8: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/8.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. Windows installation
Once you got the program, execute the setup and follow theinstructions. IOC students are provided with educational license.
2. Debian Linux installation
$ apt-get install libcoin40-dev$ apt-get install libsoqt-dev$ apt-get install inventor-demo
1. Windows installation
Once you got the program, execute the setup and follow theinstructions. IOC students are provided with educational license.
2. Debian Linux installation
$ apt-get install libcoin40-dev$ apt-get install libsoqt-dev$ apt-get install inventor-demo
How to install the program
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 9: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/9.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories
1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories
MSVC Configuration
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 10: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/10.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
Do the same for SoQt!!
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 11: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/11.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories
1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories
MSVC Configuration
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 12: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/12.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 13: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/13.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 14: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/14.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set soqt1.lib and coin2.lib libraries (qt libraries must be set too)4. Set configurartion directories
1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set soqt1.lib and coin2.lib libraries (qt libraries must be set too)4. Set configurartion directories
MSVC Configuration
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 15: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/15.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 16: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/16.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories
1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories
MSVC Configuration
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 17: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/17.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 18: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/18.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. How Coin3D works2. C++ Code1. How Coin3D works2. C++ Code
Sample Code
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 19: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/19.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Qt- C++ GUI library
A scene graph consists of one or more nodes, each of witch represents a geometry, property or grouping object. Hierarchical scenes are created by adding nodes as children of grouping nodes, resulting in a directed acyclic graph.
A scene graph consists of one or more nodes, each of witch represents a geometry, property or grouping object. Hierarchical scenes are created by adding nodes as children of grouping nodes, resulting in a directed acyclic graph.
Scene Graph
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 20: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/20.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Qt- C++ GUI library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 21: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/21.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Qt- C++ GUI library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 22: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/22.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. How Coin3D works2. C++ Code1. How Coin3D works2. C++ Code
Sample Code
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 23: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/23.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 24: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/24.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 25: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/25.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 26: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/26.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. How to compile under MSVC
2. How to compile under Linux
1. How to compile under MSVC
2. How to compile under Linux
Compilation
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 27: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/27.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Qt- C++ GUI library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 28: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/28.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
1. How to compile under MSVC
2. How to compile under Linux
1. How to compile under MSVC
2. How to compile under Linux
Compilation
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 29: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/29.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
$ soqt-config --build main main.cpp$ soqt-config --build main main.cpp
Linux compilation
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 30: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/30.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 31: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/31.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
Documentation
http://www.coin3d.org
Some UPC available books
• Wernecke, Josie, The Inventor mentor programming object-oriented 3D graphics with Open Inventor, Addison-Wesley cop.1994.
• Wernecke, Josie, The Inventor toolmaker extending Open Inventor, Addison-Wesley cop.1994.
Documentation
http://www.coin3d.org
Some UPC available books
• Wernecke, Josie, The Inventor mentor programming object-oriented 3D graphics with Open Inventor, Addison-Wesley cop.1994.
• Wernecke, Josie, The Inventor toolmaker extending Open Inventor, Addison-Wesley cop.1994.
References
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 32: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/32.jpg)
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
There are many very good examples included with coin3D. There are many very good examples included with coin3D.
Examples
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006
![Page 33: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and](https://reader031.vdocuments.us/reader031/viewer/2022022611/5b99afe009d3f29c338cc0d1/html5/thumbnails/33.jpg)
Thanks!!
Introduction Installation Sample Code Compilation Further reading and examples
Coin3D- C++ visualization library
UPC-IOC-Carlos Vázquez, Barcelona july.12.2006