Lighting & Texture Mapping Praktikum 12
Lighting Model pencahayaan objek dalam 3D, terbagi menjadi 4: Ambient Diffuse Specular Emmisive
Ambient Cahaya yang menyinari benda tidak melulu berasal dari sumber cahaya langsung, tetapi bisa juga dari pantulan benda sekitarnya. Contoh : Bagaimana kita bisa melihat kolong meja, padahal sumber cahaya adalah dari jendela? Ambient adalah cahaya tidak langsung, yaitu cahaya yang berasal dari pantulan sumber cahaya oleh benda sekitarnya
Ambient light pada bed dan atap
Diffuse Cahaya yang menyinari benda berasal satu arah, sehingga bagian benda yang terkena cahaya akan terlihat lebih terang, sementara bagian yang tidak kena cahaya terlihat gelap
Specular Cahaya diterima oleh permukaan yang halus atau memantul seperti logam, plastik, dll sehingga timbul kesan berkilau seperti kaca
Emmisive Cahaya dipancarkan oleh suatu objek yang terang
Lighting (coding 3D yang lalu) R G B ? const GLfloat light_ambient[] = { 1.0f, 1.0f, 1.0f, 1.0f }; const GLfloat light_diffuse[] = { 1.0f, 1.0f, 1.0f, 1.0f }; const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f }; glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient); glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse); glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular); + + = Ambient Diffuse Specular Kombinasi
Posisi Cahaya Untuk cahaya jauh, set D = 0.0 X Y Z D const GLfloat light_position[] = { 0.0f, 0.0f, 0.0f, 1.0f }; glLightfv(GL_LIGHT0, GL_POSITION, light_position); Untuk cahaya jauh, set D = 0.0 (Cahaya satu arah, seperti matahari) Untuk cahaya titik, set D = 1.0 (Cahaya dari satu titik ke segala arah)
Shading Datar (flat) Halus (Gouraud) glShadeModel(GL_FLAT); glShadeModel(GL_SMOOTH);