1 / 14

Fejlett grafikai algoritmusok Megvilágítási modellek

Fejlett grafikai algoritmusok Megvilágítási modellek Illés László, Palatinus Endre, Provits Milán, Török Péter. tartalom. Projekt összefoglaló Keretrendszer Tévutak Végleges irány Shaderek További lépések Eddigi teljesítmény. Összefoglalás.

ishana
Download Presentation

Fejlett grafikai algoritmusok Megvilágítási modellek

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fejlett grafikai algoritmusokMegvilágítási modellek Illés László, Palatinus Endre, Provits Milán, Török Péter

  2. tartalom • Projekt összefoglaló • Keretrendszer • Tévutak • Végleges irány • Shaderek • További lépések • Eddigi teljesítmény

  3. Összefoglalás • Megvilágítási modellek megvalósítása GLSL nyelven, OpenGL keretrendszerben • Projekt weblap: http://code.google.com/p/brightr • Tagok: • Illés László, Palatinus Endre, Provits Milán, Török Péter

  4. Keretrendszer - Tévutak • SharpGL • Ígéretes kezdeményezés  • Nem kezeli a shader betöltést  • GLEW bekötése  nem sikerült, accessviolation • http://www.codeproject.com/KB/openGL/sharpgl.aspx • TAO Framework • Weboldala nem elérhető • Mintaprogramjai kivétellel leállnak • http://sourceforge.net/projects/taoframework/

  5. Keretrendszer • NateRobins féle alapok • Ablakkezelés • WaveForm OBJ betöltés • Nézőpont váltás • Egyéb eszközök • Shaderek dinamikus betöltése • Vertex program • Fregmens program • Szöveges leíró

  6. Keretrendszer

  7. Keretrendszer - TODO • Eredmények összehasonlítása • A két kép különbsége  új ablakban • Shaderek áttekintése egy külön ablakban • Leírás • Forráskód • Shaderek szerkesztése futásidőben • Szövegszerkesztő ablak • Újrabetöltés (Shader betöltés, fordítás, kötés)

  8. VERTEX PROGRAM – TOON2 Tárgyak megvilágítása korlátozott számú színnel, rajzfilmhatás keltése varyingvec3 lightDir,normal; void main() { lightDir = normalize(vec3(gl_LightSource[0].position)); normal = gl_NormalMatrix * gl_Normal; gl_FrontColor = gl_Color; gl_Position = ftransform(); }

  9. FREGMENS program – toon2 varyingvec3 lightDir,normal; voidmain() { floatintensity; vec4 color; // normalizingthelightspositionto be onthesafeside vec3 n = normalize(normal); intensity = dot(lightDir,n); if (intensity > 0.95) color = vec4(1.0,1.0,1.0,1.0); elseif (intensity > 0.5) color = vec4(0.7,0.7,0.7,1.0); elseif (intensity > 0.25) color = vec4(0.4,0.4,0.4,1.0); else color = vec4(0.1,0.1,0.1,1.0); gl_FragColor = (gl_FrontLightModelProduct.sceneColor + gl_FrontLightProduct[0].ambient + gl_FrontLightProduct[0].diffuse + gl_FrontLightProduct[0].specular) * color; }

  10. Vertex program – phong Phong-féle megvilágítási modell GLSL megvalósítása varying vec3 N; varying vec3 v; void main(void) { v = vec3(gl_ModelViewMatrix * gl_Vertex); N = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }

  11. FREGMENS PROGRAM – PHONG varying vec3 N; varying vec3 v; void main(void) { // weareinEyeCoordinates, soEyePos is (0,0,0) vec3 L = normalize(gl_LightSource[0].position.xyz - v); vec3 E = normalize(-v); vec3 R = normalize(-reflect(L,N)); //calculateAmbient Term: vec4 Iamb = gl_FrontLightProduct[0].ambient; //calculateDiffuse Term: vec4 Idiff = gl_FrontLightProduct[0].diffuse * max(dot(N,L), 0.0); // calculateSpecular Term: vec4 Ispec = gl_FrontLightProduct[0].specular * pow(max(dot(R,E),0.0), gl_FrontMaterial.shininess); // write Total Color: gl_FragColor = gl_FrontLightModelProduct.sceneColor + Iamb + Idiff + Ispec; }

  12. További lépések • Shaderek tökéletesítése • Shaderek összehasonlítása • Szubjektív módszerekkel • Objektív módszerekkel • Különbségkép számítás, eltérések egymástól • Számítási igény (műveletek száma)

  13. Példák

  14. Köszönöm a figyelmet!

More Related