Računarska grafika
-
Upload
nasim-farley -
Category
Documents
-
view
28 -
download
1
description
Transcript of Računarska grafika
RačunarskaRačunarskagrafikagrafika
predavanjapredavanjav.as.mr. Samir Lemešv.as.mr. Samir Lemeš[email protected]@mf.unze.ba
APIAPI
Application Programming InterfaceApplication Programming InterfaceSkup potprograma koje aplikativni softver Skup potprograma koje aplikativni softver
koristi za upravljanjem procedura od koristi za upravljanjem procedura od strane operativnog sistemastrane operativnog sistema
Posrednik između softvera za obradu slike Posrednik između softvera za obradu slike i operativnog sistema / hardverai operativnog sistema / hardvera
Aplikacija API OS driver hardware
APIAPI
Programski jezici nemaju izvorno naredbe Programski jezici nemaju izvorno naredbe za rad s grafikomza rad s grafikom
Definišu se biblioteke potprogramaDefinišu se biblioteke potprogramaKako bi se osigurala portabilnost, kreatori Kako bi se osigurala portabilnost, kreatori
biblioteka se moraju pridržavati standarda biblioteka se moraju pridržavati standarda (specifikacije API-ja)(specifikacije API-ja)
Nedostatak: neiskorištenost svih Nedostatak: neiskorištenost svih mogućnosti hardveramogućnosti hardvera
APIAPI 3D CORE (Core Graphics System)3D CORE (Core Graphics System)
1979. ACM SIGGRAPH (Association for Computing Machinery 1979. ACM SIGGRAPH (Association for Computing Machinery Special Interest Group on Graphics)Special Interest Group on Graphics)
GKS (Graphics Kernel System)GKS (Graphics Kernel System) ISO 88, 94, 97, 98, 99 (International Standards Organization)ISO 88, 94, 97, 98, 99 (International Standards Organization) ANSI 85 (American National Standards Institute)ANSI 85 (American National Standards Institute)
PHIGS (Programmer's Hierarchical Interactive Graphics PHIGS (Programmer's Hierarchical Interactive Graphics System),System), PHIGS+ za pseudorealističanPHIGS+ za pseudorealističan prikazprikaz ISO 90, 97ISO 90, 97 ANSI 88ANSI 88
VRML (Virtual Reality Modelling Language) ISO 97, 98, 99
APIAPI Osim službenih standarda postoje industrijski standardiOsim službenih standarda postoje industrijski standardi
93’ GL, OpenGL93’ GL, OpenGL SGISGI 95’ Direct 3D95’ Direct 3D MicrosoftMicrosoft X Window System’s XlibX Window System’s Xlib MITMIT PEXPEX RenderManRenderMan PixarPixar PostScriptPostScript AdobeAdobe
Komercijalno značajniji od službenih standarda jer se Komercijalno značajniji od službenih standarda jer se jednostavnije mogu mijenjati.jednostavnije mogu mijenjati.
OpenGLOpenGL -- SIGGRAPHSIGGRAPH 2001. OpenML2001. OpenML –– integracija i sinintegracija i sinhhronizacija 3D grafike s video i ronizacija 3D grafike s video i
audio zapisima (Media-rich programming, Khronosaudio zapisima (Media-rich programming, Khronos group)group) 2004. OpenGL2.02004. OpenGL2.0
Jezici za sjenčenjeJezici za sjenčenje
(engl. shading languages)(engl. shading languages) programiranje grafičkog programiranje grafičkog hardverahardvera korištenjem korištenjem
jezika višejezika višegg nivoa nivoa ((da seda se ne bi moral ne bi moraloo programirati u asembleruprogramirati u asembleru za za grafičku grafičku karticu)karticu)
HLSL (engl. High-Level Shading Languages) –HLSL (engl. High-Level Shading Languages) –Direct3D, Microsoft, ’02.Direct3D, Microsoft, ’02.
CG (engl. C for graphics) –CG (engl. C for graphics) – Opengl, Direct3D, Opengl, Direct3D, NVidia, ’02.NVidia, ’02.
GLSL (engl.The OpenGL Shading Language) –GLSL (engl.The OpenGL Shading Language) –open standard, ARB, ’03.open standard, ARB, ’03.
OpenGLOpenGL (engl. OpenGraphicsLibrary)(engl. OpenGraphicsLibrary) http://www.opengl.org/http://www.opengl.org/ IrisGLIrisGL -- SGI SGI osnovaosnova za OpenGL za OpenGL 1992. 1992. postaje postaje industrijski standardindustrijski standard programsko sučelje prema grafičkom programsko sučelje prema grafičkom hardveruhardveru, neovisan , neovisan
o platformio platformi koji kontrolikoji kontrolišeše skup specifičnih operacija skup specifičnih operacija crtanja 2D/3D (definicrtanja 2D/3D (definišeše kontekst za prikaz) kontekst za prikaz)
GLX X-server extensionGLX X-server extension API -API - definidefinišeše mrežni protokol mrežni protokol za OpenGLza OpenGL naredbe za prikazivanje (enkapsuliranenaredbe za prikazivanje (enkapsulirane u X u X protokol)protokol)
OpenGLOpenGL
Poređenje GLSL (OpenGL) sa jezikom za Poređenje GLSL (OpenGL) sa jezikom za sjenčenje HLSL (Direct3D)sjenčenje HLSL (Direct3D)
OpenGLOpenGL
Projektovan da može podržati napredne Projektovan da može podržati napredne grafičke tehnike za realističan prikaz:grafičke tehnike za realističan prikaz:preslikavanje tekstura na površinupreslikavanje tekstura na površinuuklanjanje nazubljenosti krivuljauklanjanje nazubljenosti krivulja transparentnosttransparentnostzamagljivanjezamagljivanjeosvjetljavanje (izvori svjetla)osvjetljavanje (izvori svjetla)glatko sjenčenjeglatko sjenčenjeperspektive i 3D transformacijeperspektive i 3D transformacije
Microsoft APIMicrosoft API
DirectX predstavljen 1995. kao integrisani DirectX predstavljen 1995. kao integrisani skup programerskih alata, za Windows skup programerskih alata, za Windows multimedijalne aplikacije (igre ;-))multimedijalne aplikacije (igre ;-))DirectX Graphics (Direct3D za prikaz 3D DirectX Graphics (Direct3D za prikaz 3D
grafike i DirectDraw za 2D grafiku)grafike i DirectDraw za 2D grafiku)DirectX Audio za zvuk (DirectSound i DirectX Audio za zvuk (DirectSound i
DrectMusic)DrectMusic)DirectPlay za mrežno povezivanjeDirectPlay za mrežno povezivanjeDirectInput za ulazne uređaje (joystick,...)DirectInput za ulazne uređaje (joystick,...)