Introduzione a API e game engine per la programmazione grafica

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione a API e game engine per la programmazione grafica"

Transcript

1 Introduzione a API e game engine per la programmazione grafica OpenGL e WebGL Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Outline Differenze tra driver, API, game engine Introduzione alle API per la programmazione grafica Differenze tra Direct3D e OpenGL Evoluzione pipeline OpengL Varianti di OpenGL

2 Programmazione Grafica: da basso a alto livello Ambienti Visuali Game engine API Driver Driver grafici Ambienti Visuali Game engine API Driver Insieme di routine che controlla direttamente la scheda grafica Basso livello Hardware-dependent Specifico per ogni SO Di solito implementati da costruttori hardware

3 API per la programmazione grafica Ambienti Visuali Game engine API Driver Application Program Interface Librerie di livello + alto Set di procedure dedicate (solo) al rendering grafico in tempo reale Maggiore astrazione nella implementazione e comunicazione con hardware grafico (e i suoi driver) Direct3D OpenGL Game engine Ambienti di sviluppo completi Forniscono: IDE Ambienti Visuali Game engine API Driver Motore di rendering Librerie per gestione I/O, modelli, fisica, AI Tool di supporto per gestione asset e scenari.. Maggiore astrazione: Forte riusabilità e ottimizzazione sviluppo Indipendenza da piattaforma hardware Supporto per più API Esempi: Unreal Engine 3 Ogre3D Panda3D

4 Ambienti visuali Riduzione scrittura codice Applicazione costruita tramite blocchi visuali Ambienti Visuali Visual programming Possibilità di scripting ad alto livello Game engine API Possibilità di implementare facilmente applicazioni medio-bassa difficoltà Target allargato anche a non-programmatori Driver Designer, ecc Esempi: Quartz Composer (OSX) Vvvv (Windows) Puredata/GEM (cross-platform) Direct3D o OpengL? Sono i 2 maggiori competitors Nascono con approcci diversi Allo stato attuale, hanno all'incirca lo stesso livello di funzionalità e performance

5 Direct3D API proprietarie di Microsoft Parte di DirectX (che comprende API per suono, I/O, ecc) Solo sviluppo applicazioni Windows (desktop, mobile, Xbox) Nate esplicitamente per implementazione videogiochi su hardware consumer-level Prime versioni molto criticate, ma da versione 9 situazione migliorata E anche apprezzamento sviluppatori Con introduzione pipeline programmabile HLSL (High Level Shading Language) OpenGL Open Graphics Library mantenuta da OpenGL Architectural Review Board (ARB) Khronos Group Specifiche open Implementazione possibile da chiunque Cross-platform Binding per numerosi linguaggi Utilizzo per tutti gli ambiti applicativi della grafica in tempo reale Di fatto, era lo standard per gli applicativi e ambiti professionali Eredità di IrisGL, API proprietaria di SGI, da cui OpenGL derivano Solo rendering, servono librerie di terze parti per gestione di tutto il resto Con introduzione pipeline programmabile GLSL (OpenGL Shading Language)

6 Evoluzione Direct3D e OpenGL: differenze Specifiche Direct3D decise unicamente da Microsoft No accesso a specifiche da terze parti Storicamente, questo ha portato a una API dall'evoluzione più regolare Ma più chiusa OpenGL caratterizzata da supporto estensioni: Terze parti potevano implementare nuove funzioni non previste dallo standard Meccanismo di esposizione delle estenzioni alla API principali Possibile confusione: Funzioni implementate solo da un costruttore Funzioni implementate con nomi diversi da più costruttori Estensioni periodicamente valutate ed eventualmente inserite nelle nuove versioni delle specifiche

7 Pipeline OpenGL: deprecation model Introdotto nelle specifiche 3.0 Metodo usato per rimuovere funzionalità Necessità di semplificare e ottimizzare la pipeline Nonostante il rischio di intaccare in alcuni casi la retrocompatibilità (backward compatibility)

8 Pipeline OpenGL: deprecation model Utilizzo struttura dati context Contiene shaders e altri dati Full context: Inclusione di tutte le funzionalità delle specifiche correnti Anche quelle deprecate Forward compatible context Inclusione solo delle funzionalità non deprecate Situazione simile a versioni future delle specifiche

9 Pipeline OpenGL: context profiles Introduzione profili ai contesti introdotti in 3.0 Possibilità di ulteriore controllo delle funzionalità dei contesti Full context: Core profile: Inclusione di tutte le funzionalità della specifica corrente Compatible profile: Inclusione di tutte le funzionalità di tutte le specifiche passate e presenti Forward compatible context Core profile: Inclusione solo delle funzionalità non deprecate della specifica corrente Compatible profile: Non supportato

10 Applicazione OpenGL in sintesi Sinteticamente, ogni applicazione OpenGL effettua i seguenti passi: Crea gli shader Crea buffer objects e carica i dati nei buffer Collega i dati nei buffer objects alle variabili degli shader

11 Altre versioni di OpenGL Fork delle specifiche principali OpenGL ES WebGL OpenGL ES OpenGL for Embedded Systems Smartphone, tablet, consolle portatili Attuale versione 3.0 Agosto 2012 Pipeline basata sulle specifiche OpenGL 3.3 Senza Geometry shader Pipeline programmabile GLSL ES (un sottoinsieme del linguaggio GLSL)

12 WebGL OpenGL ES per il Web API Javascript per grafica in tempo reale all'interno dei browser Utilizza Canvas di HTML5 Tramite interfaccia DOM (Document Object Model) senza utilizzo plugin Attuali specifiche 1.0 Marzo 2011 Ricalcano quasi completamente specifiche 2.0 delle OpenGL ES Draft specifiche 2.0 Settembre 2013 Funzionalità adeguate a quelle presenti in OpenGL ES 3.0 HTML5 Prima idea 2004 Primo Draft 2008 Working draft Dicembre 2012 Stable Recommendation prevista per 2014 Punti principali: Retrocompatibilità Modularità Abbandono elementi markup superati da potenzialità CSS Enfasi su importanza scripting DOM Integrazione elementi grafici e multimediali senza plugin Introduzione numerose API per lo sviluppo di applicazioni Web

13 HTML5 API HTML5 Canvas e WebGL Applicazioni OpenGL richiedono la creazione di un rendering context Una finestra di solito creata tramite una chiamata ad una API di sistema O tramite librerie specifiche per GUI WebGl usa Canvas come contesto Regioni renderizzabili definite all'interno di codice HTML API Javascript possono accedere e renderizzare la Canvas

14 WebGL in ambiente Windows Windows non supporta direttamente WebGL ANGLE project Almost Native Graphics Layer Engine Chrome e Firefox Traduzione chiamate API OpenGL ES in chiamate Direct3D Implementazione WebGL Programmare in OpenGL/WebGL non facile Basso livello, solo chiamate per rendering Ripetitività di chiamate per cambiare parametri Necessità implementazione librerie e/o funzioni per ogni altra necessità Creare una finestra, gestire input, ecc.. Oppure è necessario utilizzare altre librerie Non immediato/veloce riuscire a concentrarsi sul contenuto/obiettivo dell'applicazione

15 Implementazione WebGL Utilizzo framework di (più) alto livello Maggiori funzionalità a disposizione nello stesso ambiente Classi permettono di astrarre dai dettagli di basso livello Integrazione di librerie per fisica ecc Concentrazione sul contenuto Si perde però la piena consapevolezza di cosa sta succedendo Implementazione WebGL Framework per sviluppo WebGL Molte proposte Alcuni progetti più robusti, altri in fase preliminare Costante: documentazione scarsa Apprendimento + legato ad esempi

16 Cenni ai game engine Game engine: SW per la implementazione di videogame Estensibile Flessibile Modulare Fornisca le varie funzionalità previste nello sviluppo di un videogame Serva come base per lo sviluppo di diversi tipi di videogame senza bisogno di grosse modifiche

17 Cenni ai game engine Game engine costituito da un insieme di sub-engine/tool per lo sviluppo e la gestione delle risorse

18 Cenni ai game engine Al variare del tipo di videogame, maggiore importanza di uno/più sub-engine rispetto agli altri: Videogame corsa auto: physics engine MMPORG: network layer Di conseguenza: game engine sviluppati per famiglie di videogame specifici Cenni ai game engine Sviluppo game engine include sempre più tool ad alto livello per la gestione di asset, livelli ecc Aumento velocità produzione Piccole produzioni Prototipazione Asset manager Gestione/caricamento/ecc delle risorse necessarie per il videogame/livello Modelli Texture Suoni Ecc... Level editor Tool dedicato per la progettazione (visuale e/o tramite scripting e pannelli di configurazione) di un livello di gioco/mappa

19 Cenni ai game engine Nascita game engine sempre più ad alto livello Es: Unity Gestione caricamento e modifica modelli tramite GUI visuali Gestione ad alto livello grafo della scena Inserimento di shader, game logic, ecc da insiemi di default IDE integrata Programmazione/scripting mirato a necessità specifiche del progetto da sviluppare Produzione per piattaforme multiple References Homepage OpenGL Slide corso SIGGRAPH 2012 Introduction to Modern OpenGL Programming Differenze HTML5 e HTML4 Webgl https://www.khronos.org/registry/webgl/specs/1.0/

WebGL. Lezione 18: 15 Maggio 2014

WebGL. Lezione 18: 15 Maggio 2014 WebGL Lezione 18: 15 Maggio 2014 Cronologia: Grafica 3D nell Hardware In principio (giurassico informatico) postazioni specializzate La Silicon Graphics si afferma come produttrice di workstation grafiche

Dettagli

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010 Soft Control facile con RTX e Windows Embedded Standard 7 RTX 2009: funzionalità ed uso pratico Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010 Definizione di Sistema Tempo Reale: Definizione

Dettagli

WebGL e 3D su Web. Lezione 11 Maggio 2015

WebGL e 3D su Web. Lezione 11 Maggio 2015 Lezione 11 Maggio 2015 Un po di storia: Hardware e grafica 3D: In principio postazioni specializzate; La Silicon Graphics si afferma come produttrice di workstation grafiche in serie (molto costose!);

Dettagli

Grafica 3D Interattiva

Grafica 3D Interattiva Informatica Grafica ][ Marco Gribaudo marcog@di.unito.it Grafica 3D Interattiva sono una libreria di funzioni a basso livello per facilitare la scrittura di videogiochi e di applicazioni multimediali.

Dettagli

Realizzare la VR: i software. Piattaforme per la VR: VRML. Il più diffuso: VRML (Virtual Reality Modeling Language)

Realizzare la VR: i software. Piattaforme per la VR: VRML. Il più diffuso: VRML (Virtual Reality Modeling Language) Lezione 5.1 Realizzare la VR: i software Piattaforme per la VR: VRML Il più diffuso: VRML (Virtual Reality Modeling Language) Rappresentazioni 3D interattive anche per web Rendering di poligoni tridimensionali

Dettagli

Realtà Virtuali Prof. Raffaella Folgieri, aa 2013/2014. Realizzare la VR: i software

Realtà Virtuali Prof. Raffaella Folgieri, aa 2013/2014. Realizzare la VR: i software Realtà Virtuali Prof. Raffaella Folgieri, aa 2013/2014 Realizzare la VR: i software Piattaforme per la VR: VRML Il più diffuso: VRML (Virtual Reality Modeling Language) Rappresentazioni 3D interattive

Dettagli

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software BDX 3D Editor è un programma che permette di navigare ed editare texture in un qualsiasi modello 3D.E compatibile con i software in grado di esportare

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano Lezione1 Informatica Grafica Cos è la computer grafica Lezione del 10 Marzo 2010 Grafica OpenGL vs Direct Dipartimento di Ingegneria Meccanica Politecnico di Milano 1.1 Tubo a Raggi Catodici Cathode Ray

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Corsi ANDROID 2013/2014 Benvenuti nel mondo dinamico dello sviluppo di applicazioni per smartphone e tablet Android Corsi ANDROID 2013/2014 L

Dettagli

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione HTML e Linguaggi Politecnico di Facoltà del Design Bovisa Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://home.dei.polimi.it/cugola Indice Il linguaggio del

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Studio tecnologico per il porting di MITO (Medical Imaging TOolkit) su dispositivi mobili

Studio tecnologico per il porting di MITO (Medical Imaging TOolkit) su dispositivi mobili Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni Studio tecnologico per il porting di MITO (Medical Imaging TOolkit) su dispositivi mobili Alessio Pierluigi Placitelli

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 1. Introduzione a Internet e al WWW Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica

Dettagli

LA TUA PRIMA APP CON CORDOVA

LA TUA PRIMA APP CON CORDOVA LA TUA PRIMA APP CON CORDOVA Dedicato a. Gianluca ed Enza, due persone speciali Autore: Gianpiero Fasulo www.gfasulo.it - Pag. 2 COPYRIGHT La tua prima APP con CORDOVA Tutti i diritti riservati. Nessuna

Dettagli

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM Davide Barbieri Contatti skype: davbar86 mail: davide.barbieri@ghostshark.it Panoramica corso Introduzione al mondo delle GPU Modello GPGPU Nvidia

Dettagli

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3 Introduzione...xv A chi si rivolge questo libro...xv Gli argomenti trattati...xv Com è organizzato il libro...xvi Cosa occorre per utilizzare il libro...xvii Convenzioni adottate...xvii Il codice sorgente...xviii

Dettagli

Gianni Valdambrini. Everywhere

Gianni Valdambrini. Everywhere Gianni Valdambrini Qt Certified Specialist Everywhere Firenze, 25 settembre 2012 Cosa è Qt Qt è un framework cross platform, con cui potete scrivere il codice un'unica volta ed effettuare il deploy su

Dettagli

Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08

Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Università di Modena e Reggio Emilia Panoramica Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Docente: andrea.bulgarelli@gmail.com Argomento: struttura SQL Server (1.0)! Componenti! Edizioni!

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in Ingegneria dei Requisiti Il processo che stabilisce i servizi che il cliente richiede I requisiti sono la descrizione dei servizi del sistema Funzionalità astratte che il sistema deve fornire Le proprietà

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee

Dettagli

Cos è. Interface - colibri .01. colibri Corso Garibaldi, 60 06049 Spoleto Tel. 0743 224048 info@lightage.it www.lightage.it

Cos è. Interface - colibri .01. colibri Corso Garibaldi, 60 06049 Spoleto Tel. 0743 224048 info@lightage.it www.lightage.it nuovo! Cos è colibri è la soluzione di Content Management System che vi aiuterà a semplificare la gestione dei più complessi siti Internet tagliando i costi di manutenzione, assicurando un accessibilità

Dettagli

C++ E QT, BINOMIO PERFETTO

C++ E QT, BINOMIO PERFETTO C++ E QT, BINOMIO PERFETTO Luca Ottaviano Software developer, Develer 1 CHI SONO Team leader e sviluppatore embedded presso Develer Sviluppo con Qt da 8 anni, mi occupo principalmente di realizzare interfacce

Dettagli

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base Texture mapping Davide Gadia, Daniele Marini Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Livello di approfondimento della lezione

Dettagli

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo tesi di laurea Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo Anno Accademico 2009/2010 relatore Ch.mo prof. Marcello Cinque correlatore Ing. Catello di

Dettagli

INTRODUZIONE ALLE PIATTAFORME

INTRODUZIONE ALLE PIATTAFORME INTRODUZIONE ALLE PIATTAFORME Android ios Windows Phone 8 Android 2 Cos è Android? Un moderno open-source sistema operativo Componenti: Linux kernel Java Core applications 3 Perché è stato un successo

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Programma Corso Game Design

Programma Corso Game Design Programma Corso Game Design Corso per diventare sviluppatore di videogames Game Development e Game designer - Miriamo a realizzare non solo un corso di design e programmazione ma anche a sviluppare nell

Dettagli

L interazione tra i device ed il mondo reale dall HTML5 al «mobile» Alessio Garbi alessio.garbi@xonne.it http://www.linkedin.com/in/alessiogarbi

L interazione tra i device ed il mondo reale dall HTML5 al «mobile» Alessio Garbi alessio.garbi@xonne.it http://www.linkedin.com/in/alessiogarbi & L interazione tra i device ed il mondo reale dall HTML5 al «mobile» Alessio Garbi alessio.garbi@xonne http://linkedin.com/in/alessiogarbi Di cosa parleremo... Le potenzialità offerte oggi dai nuovi device

Dettagli

Classificazione del software

Classificazione del software Classificazione del software Classificazione dei software Sulla base del loro utilizzo, i programmi si distinguono in: SOFTWARE Sistema operativo Software applicativo Sistema operativo: una definizione

Dettagli

TinyOS. Sistema operativo open-source per wireless sensor network sviluppato dall Università di Berkley e centro ricerche Intel www.tinyos.

TinyOS. Sistema operativo open-source per wireless sensor network sviluppato dall Università di Berkley e centro ricerche Intel www.tinyos. Sistema operativo open-source per wireless sensor network sviluppato dall Università di Berkley e centro ricerche Intel www.tinyos.net Outline Wireless Sensor Network 1 Wireless Sensor Network Caratterisiche

Dettagli

Tecnologie informatiche multimediali

Tecnologie informatiche multimediali Università degli Studi di Ferrara Facoltà di Lettere e Filosofia Corso di Laurea in «Scienze e Tecnologie della Comunicazione» aa 2011-2012 Tecnologie informatiche multimediali Prof. Giorgio Poletti giorgio.poletti@unife.it

Dettagli

Lavorare senza carta. + Bit - Atomi

Lavorare senza carta. + Bit - Atomi Lavorare senza carta. + Bit - Atomi 15/07/14 Il VALORE: 1 la conoscenza Il VALORE: 2 Tutto è rete Amm. Pubblica Scuola Rete informatica / Internet Rete per l Open Innovation Rete Relazionale Aziende Profit

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Il Sistema Operativo Gerarchia del software

Dettagli

Il Linux che verrà... Francesco Crippa

Il Linux che verrà... Francesco Crippa Il Linux che verrà... Francesco Crippa Cosa ci attente? Tante novità per il mondo server side Tante novità per gli sviluppatori Tante novità per gli appassionati... e per gli utenti? Virtualizzare il sistema

Dettagli

Manuali.net. Nevio Martini

Manuali.net. Nevio Martini Manuali.net Corso base per la gestione di Siti Web Nevio Martini 2009 Il Linguaggio HTML 1 parte Introduzione Internet è un fenomeno in continua espansione e non accenna a rallentare, anzi è in permanente

Dettagli

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi Applicazioni web Parte 6 Java Alberto Ferrari 1 Sommario Introduzione alle API ed esempi Tomcat Server per applicazioni web Alberto Ferrari 2 Alberto Ferrari 1 Java: da applet a servlet In origine Java

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Vodafone Device Manager. La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro

Vodafone Device Manager. La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro In un mondo in cui sempre più dipendenti usano smartphone e tablet per accedere ai dati aziendali, è fondamentale

Dettagli

Applicazione: GAS - Gestione AcceSsi

Applicazione: GAS - Gestione AcceSsi Riusabilità del software - Catalogo delle applicazioni Gestione ICT Applicazione: GAS - Gestione AcceSsi Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi Nome

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Una piattaforma LMS open-source: Claroline a cura di G.Cagni (Irre Piemonte) http://www.claroline.net

Una piattaforma LMS open-source: Claroline a cura di G.Cagni (Irre Piemonte) http://www.claroline.net Una piattaforma LMS open-source: a cura di G.Cagni (Irre Piemonte) http://www.claroline.net I modelli di formazione in modalità e-learning richiedono necessariamente l utilizzo di una tecnologia per la

Dettagli

OpenVAS - Open Source Vulnerability Scanner

OpenVAS - Open Source Vulnerability Scanner OpenVAS - Open Source Vulnerability Scanner di Maurizio Pagani Introduzione OpenVAS è un framework che include servizi e tool per la scansione e la gestione completa delle vulnerabilità. Un vulnerability

Dettagli

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: 1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni

Dettagli

Per la massima confidenzialità questo CV è anonimo! - Per poter accedere al recapito di questo candidato Lei deve essere un azienda identificata

Per la massima confidenzialità questo CV è anonimo! - Per poter accedere al recapito di questo candidato Lei deve essere un azienda identificata Per la massima confidenzialità questo CV è anonimo! - Per poter accedere al recapito di questo candidato Lei deve essere un azienda identificata Programmatore Sono un appassionato di programmazione e tecnologia

Dettagli

Windows 3.0. Windows 1.0. Windows 1.0. Storia dei sistemi operativi Microsoft Windows 1985-2004. Windows 2.0. Windows 2.0

Windows 3.0. Windows 1.0. Windows 1.0. Storia dei sistemi operativi Microsoft Windows 1985-2004. Windows 2.0. Windows 2.0 Windows 1.0 Storia dei sistemi operativi Microsoft Windows 1985-2004 La prima versione commercializzata di Windows fu la versione 1.0,, rilasciata il 20 novembre 1985.. Dopo poco tempo fu sostituita dalla

Dettagli

Strumenti per lo sviluppo e la gestione di Ontologie

Strumenti per lo sviluppo e la gestione di Ontologie Strumenti per lo sviluppo e la gestione di Ontologie Armando Stellato stellato@info.uniroma2.it Ontology Editors Protégé Link al sito dello strumento http://protege.stanford.edu/ (scaricare Protege-OWL

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

STUDIO DEL MOTORE GRAFICO OGRE 3D PER L'INTEGRAZIONE DI UNO SHADER DI GESTIONE DELL'ILLUMINAZIONE

STUDIO DEL MOTORE GRAFICO OGRE 3D PER L'INTEGRAZIONE DI UNO SHADER DI GESTIONE DELL'ILLUMINAZIONE UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI: Scienze Matematiche, Fisiche e Naturali CORSO DI LAUREA IN: Comunicazione Digitale STUDIO DEL MOTORE GRAFICO OGRE 3D PER L'INTEGRAZIONE DI UNO SHADER DI GESTIONE

Dettagli

Cloud Computing e Mobility:

Cloud Computing e Mobility: S.A.F. SCUOLA DI ALTA FORMAZIONE LUIGI MARTINO Cloud Computing e Mobility: Lo studio professionale agile e sicuro Davide Grassano Membro della Commissione Informatica 4 dicembre 2013 - Milano Agenda 1

Dettagli

Pipeline di rendering. Pipeline di rendering. Outline. Grafica off-line vs Grafica real-time

Pipeline di rendering. Pipeline di rendering. Outline. Grafica off-line vs Grafica real-time Pipeline di rendering Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Outline Grafica off-line vs Grafica real-time

Dettagli

Port Community System del Porto di Ravenna CONFIGURAZIONE

Port Community System del Porto di Ravenna CONFIGURAZIONE Port Community System del Porto di Ravenna CONFIGURAZIONE SOMMARIO Indicazioni generali... 3 Dipendenze software... 4 Lato server... 4 Lato client... 4 Organizzazione del sistema... 5 Struttura delle directory...

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

Contenuti. Applicazioni di rete e protocolli applicativi Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

«Ability, la meta-distribuzione Abinsula per il mondo Embedded»

«Ability, la meta-distribuzione Abinsula per il mondo Embedded» INUXDAY «Ability, la meta-distribuzione Abinsula per il mondo Embedded» About Abinsula Azienda che propone soluzioni nel campo dei sistemi Embedded, nel campo della Sicurezza Informatica e delle applicazioni

Dettagli

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale tesi di laurea inventario comunale Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo Ing. Luigi Pontillo candidato Michele Vitelli Matr. 534 2170 Redazione dell Inventario

Dettagli

Progettazione di interfacce web indipendenti dal dispositivo

Progettazione di interfacce web indipendenti dal dispositivo Progettazione di interfacce web indipendenti dal dispositivo Candidato Izzo Giovanni, Matr. 41/1305 Relatore Prof. Porfirio Tramontana 1 Panoramica su contesto ed obiettivi Il contesto della tesi è legato

Dettagli

Sistemi Informativi Distribuiti

Sistemi Informativi Distribuiti Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 SISTEMI INFORMATIVI MODULO II Sistemi Informativi Distribuiti 1 Sistemi informativi distribuiti

Dettagli

Visualizzazione e Controllo Remoto di Agenti in Ambienti Virtuali Tramite la Libreria OpenSceneGraph

Visualizzazione e Controllo Remoto di Agenti in Ambienti Virtuali Tramite la Libreria OpenSceneGraph ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA SEDE DI CESENA FACOLTÀ DI SCIENZE MATEMATICHE, FISCHE E NATURALI CORSO DI LAUREA IN SCIENZE DELL INFORMAZIONE Visualizzazione e Controllo Remoto di Agenti in

Dettagli

Progetto: JNSIL LEAF. Presentazione: nuova procedura Java based e cross Platform per la gestione di LEAsing e Finanziamenti

Progetto: JNSIL LEAF. Presentazione: nuova procedura Java based e cross Platform per la gestione di LEAsing e Finanziamenti Progetto: JNSIL LEAF Presentazione: nuova procedura Java based e cross Platform per la gestione di LEAsing e Finanziamenti Negli ultimi anni si è diffuso il trend di trasformare applicazioni pensate per

Dettagli

2. Strutture dei Sistemi Operativi

2. Strutture dei Sistemi Operativi 1 2. Strutture dei Sistemi Operativi Quali servizi un generico sistema operativo mette a disposizione degli utenti, e dei programmi che gli utenti vogliono eseguire? interfaccia col sistema operativo stesso

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

Dettagli

INTRODUZIONE AL FRAMEWORK QT

INTRODUZIONE AL FRAMEWORK QT INTRODUZIONE AL FRAMEWORK QT Luca Ottaviano Software developer, Develer CHI SONO Team leader e sviluppatore embedded presso Develer Sviluppo con Qt da 8 anni, mi occupo principalmente di realizzare interfacce

Dettagli

Streaming Tool per CoFFEE

Streaming Tool per CoFFEE Streaming Tool per CoFFEE a cura di Gerardo Lombardo CoFFEE Cooperative Face-to-Face Educational Environment Groupware Suite di applicazioni distribuite (in LAN) per il problem solving collaborativo in

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Introduzione Il programma di formazione base di Movicon prevede la disponibilità di nr. 10 moduli, così suddivisibili:

Introduzione Il programma di formazione base di Movicon prevede la disponibilità di nr. 10 moduli, così suddivisibili: Introduzione Il programma di formazione base di Movicon prevede la disponibilità di nr. 10 moduli, così suddivisibili: Corso base 1 = nr. 5 moduli, 1 gg. presso sede Progea o centro autorizzato Corso base

Dettagli

Università degli studi di Messina

Università degli studi di Messina Università degli studi di Messina Facoltà di Ingegneria Corso di laurea in Ingegneria Elettronica Tesina di Sistemi di Telecomunicazione Prenotazione Esami con CSLU Speech - toolkit Docente: Prof. Salvatore

Dettagli

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com Corso App modulo Android Antonio Gallo info@laboratoriolibero.com Strumentazione: PC + smartphone Android + cavo micro USB per connessione Framework Phonegap SDK di Android JDK (Java) Eclipse (opzionale)

Dettagli

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI PROCEDURA DI SELEZIONE PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, ANALISI, SVILUPPO, MANUTENZIONE ADEGUATIVA, CORRETTIVA ED EVOLUTIVA DI SISTEMI INFORMATIVI SU PIATTAFORMA IBM WEBSPHERE BPM (EX LOMBARDI)

Dettagli

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it ANDROID Domenico Talia Università della Calabria talia@dimes.unical.it Sistemi Operativi per Mobile! I sistemi operativi per sistemi mobili seguono i principi dei SO classici ma devono gestire risorse

Dettagli

Introduzione Computer Graphics

Introduzione Computer Graphics Knowledge Aided Engineering Manufacturing and Related Technologies Dipartimento di Ingegneria Industriale Università di Parma Introduzione Computer Graphics Cosa e la computer graphics Computer Graphics

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Visual Basic Visual Basic Linguaggio di programmazione

Dettagli

Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate

Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate Mystic Pizza Gestione Pizzeria Scheda di Progetto Version 1.0 Data 19/03/2007 Indice degli argomenti 1. Introduzione 3 a. Scenario

Dettagli

SERVER E VIRTUALIZZAZIONE. Windows Server 2012. Guida alle edizioni

SERVER E VIRTUALIZZAZIONE. Windows Server 2012. Guida alle edizioni SERVER E VIRTUALIZZAZIONE Windows Server 2012 Guida alle edizioni 1 1 Informazioni sul copyright 2012 Microsoft Corporation. Tutti i diritti sono riservati. Il presente documento viene fornito così come

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Costi ed impiego efficiente della manodopera (MDO) Not Right First Time (NRFT) Delivery Schedule Adherence (DSA)

Costi ed impiego efficiente della manodopera (MDO) Not Right First Time (NRFT) Delivery Schedule Adherence (DSA) COS E SPEEDER? Speeder è un software integralmente progettato e sviluppato da OL3 Solutions. E dotato di una moderna architettura web e consente di realizzare in maniera pratica e veloce una completa mappatura

Dettagli

Perché OPC? Display Application. Trend Application. Report Application. Software Driver. Software Driver. Software Driver.

Perché OPC? Display Application. Trend Application. Report Application. Software Driver. Software Driver. Software Driver. Lo Standard OPC Dove si usa OPC? Perché OPC? Display Application Trend Application Report Application Software Driver Software Driver Software Driver Software Driver Perché OPC? Indipendenza dei programmi

Dettagli

Business Simulation in ambiente web

Business Simulation in ambiente web Business Simulation in ambiente web Da soluzione Stand Alone ad un ambiente condiviso Lecco, Novembre 2013 Documento riservato. Ogni riproduzione è vietata salvo autorizzazione scritta di MAS Consulting

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Conoscere il concetto di espressione 2 1 Introduzione

Dettagli

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

Dettagli

Esercitazione su Windows. Introduzione al calcolatore Introduzione a Windows

Esercitazione su Windows. Introduzione al calcolatore Introduzione a Windows Esercitazione su Windows Introduzione al calcolatore Introduzione a Windows Sistemi Operativi Moderni Multi-Utente Multi-Processo Strutturati a Cipolla Dispongono di Interfaccia Grafica (GUI) oltre che

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XSL (extensible( Stylesheet Language) Eufemia TINELLI Contenuti XSL = XSLT + XSL-FO (+ XPath)

Dettagli

Content Management Systems

Content Management Systems Content Management Systems L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Definizione Un Content Management System (CMS) è letteralmente un sistema per la gestione dei contenuti Definisce

Dettagli

La realizzazione di WebGis con strumenti "Open Source".

La realizzazione di WebGis con strumenti Open Source. La realizzazione di WebGis con strumenti "Open Source". Esempi di impiego di strumenti a sorgente aperto per la realizzazione di un Gis con interfaccia Web Cos'è un Web Gis? Da wikipedia: Sono detti WebGIS

Dettagli

mcdomus Guida alla Configurazione

mcdomus Guida alla Configurazione mcdomus Guida alla Configurazione Data: 25/12/2012 Revisione: 1.02 Sommario Il sistema... 2 Le variabili... 2 Le Funzioni... 2 La Grafica... 3 Gestione Configurazione... 4 Configurazione Base... 4 Configurazione

Dettagli

Introduzione al Many/Multi-core Computing

Introduzione al Many/Multi-core Computing Introduzione al Many/Multi-core Computing Sistemi Operativi e reti 6 giugno 2011 Outline del corso Introduzione Definizioni Motivazioni Storia Architettura Framework Algoritmica Parte I Introduzione Definizioni

Dettagli

HTML INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

HTML INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO HTML INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Introduzione 2 HTML è l'acronimo di Hypertext Markup Language ("Linguaggio di contrassegno per gli Ipertesti") e non è un linguaggio

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

CAMPUS. fast fast fast nei Tempi, depth depth depth nella Formazione, solid solid solid nel Futuro.

CAMPUS. fast fast fast nei Tempi, depth depth depth nella Formazione, solid solid solid nel Futuro. ArToo Campus è una Scuola di eccellenza per formare eccellenze, che fa dell innovazione dirompente il suo credo. ARTOO CONTATTI Via 1 Maggio, 156 60131 ANCONA (AN) ITALY Tel +39 071 99 802 68* Fax +39

Dettagli

Le fasi dello sviluppo di un videogioco

Le fasi dello sviluppo di un videogioco Le fasi dello sviluppo di un videogioco Team di sviluppo Game designer Il game designer è la figura principalmente responsabile del gameplay e del fattore divertimento del gioco. Sfruttando la propria

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Corso di Calcolo Numerico, a.a. 2010/2011 Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Virtualizzazione delle Periferiche. Corso di Sistemi Operativi

Virtualizzazione delle Periferiche. Corso di Sistemi Operativi Virtualizzazione delle Periferiche Corso di Sistemi Operativi Introduzione Una delle funzioni principali di un SO è di controllare tutte le periferiche connesse al PC SO deve: comandare i dispositivi ascoltare

Dettagli