1
Marco Tarini
Università dell’Insubria
Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2011/12
Computer Graphics Lab
Notes 1: tools
Di base, ci servirà:
1. API API API API grafiche
2. Interfacciamento con SO SO SO SO (sist. op.) – finestre (o fullscreen) – mouse, keyboard, joystick…
– timers – eventi – double buffering
– …
3. Ambiente di sviluppo (IDE IDE IDE) IDE 4. un extra: toolkit per GUI GUI GUI GUI 5. libs per
– immagini – geometria…
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Useremo:
avremmo potuto usare:
Direct3D (parte di directX)
Di base, ci servirà:
1. API API API API grafiche
2. Interfacciamento con SO SO SO SO (sist. op.) – finestre (o fullscreen) – mouse, keyboard, joystick…
– timers – eventi – double buffering
– …
3. Ambiente di sviluppo (IDE IDE IDE) IDE 4. (forse) toolkit per GUI GUI GUI GUI 5. (forse) libs per
– immagini – geometria…
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Useremo:
avremmo potuto usare:
API di
GLUT
openglut, freeglut, glux…etc…
Di base, ci servirà:
1. API API API API grafiche
2. Interfacciamento con SO SO SO SO (sist. op.) – finestre (o fullscreen) – mouse, keyboard, joystick…
– timers – eventi – double buffering
– …
3. Ambiente di sviluppo (IDE IDE IDE) IDE 4. (forse) toolkit per GUI GUI GUI GUI 5. (forse) libs per
– immagini – geometria…
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Useremo:
QT creator
avremmo potuto usare:
lcc lcc lcc lcc----win32 win32 win32 win32
etc…
Di base, ci servirà:
1. API API API API grafiche
2. Interfacciamento con SO SO SO SO (sist. op.) – finestre (o fullscreen) – mouse, keyboard, joystick…
– timers – eventi – double buffering
– …
3. Ambiente di sviluppo (IDE IDE IDE) IDE 4. (forse) toolkit per GUI GUI GUI GUI 5. (forse) libs per
– immagini – geometria…
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Useremo:
avremmo potuto usare, x es:
GTK+
Swing
(x java)wxWidgets AntTweakBar AntTweakBar AntTweakBar AntTweakBar
(specializz per OpenGL)
Di base, ci servirà:
1. API API API API grafiche
2. Interfacciamento con SO SO SO SO (sist. op.) – finestre (o fullscreen) – mouse, keyboard, joystick…
– timers – eventi – double buffering
– …
3. Ambiente di sviluppo (IDE IDE IDE) IDE 4. (forse) toolkit per GUI GUI GUI GUI 5. (forse) libs per
– immagini – geometria…
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Useremo:
avremmo potuto usare, x es:
Nulla,
ce le scriviamo da noi
VCG lib
Visual Computing
& Graphics Lib
CGAL
Computat. Geo. Algo. Lib OpenComputer Vision
2
Di base, ci servirà:
1. API API API API grafiche
2. Interfacciamento con SO SO SO SO (sist. op.) – finestre (o fullscreen) – mouse, keyboard, joystick…
– timers – eventi – double buffering
– …
3. Ambiente di sviluppo (IDE IDE IDE) IDE 4. (forse) toolkit per GUI GUI GUI GUI 5. (forse) libs per
– immagini – geometria…
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
parentesi parentesi parentesi parentesi parentesi parentesi
parentesi parentesi parentesi parentesi parentesi parentesi
fa anche…
• multi-threading
(module: qtCore)• strutture dati base + algoritmi
(module: qtCore)– qVector, qSet, qList, qString, … <== simile a STLSTLSTLSTL, ma meno completo
• networking
(module: qtNetworking) – TCP, UDP …• video e audio
(module: qtPhonon) – formati file (mp3, mpeg…)• XML
(e html)(module: qtXml)• databases
(module: qtSql)• portable devices
– x Symbian: simulazione, OpenGL ES
• supporto sviluppo per:
– “style sheets for GUI” (QML) – traduzioni(QT Linguist)
– version control (sia SVN che Hg-Mercury) – GUIs: WYSIWYG editor in QT-creator