Tentang Shading Modelling Bab 4 Desain Pemodelan Grafik lanjutan 3..

Tugas Softskill
BAB4


KASUS/CONTOHPEMANFAATAN TERSEBUT UNTUK KONSEP SHADING MODELLING


GoraudShading


            Grafik 3-D, sebuah teknik yangdikembangkan oleh Henri Gouraud pada athun baru 1970. Teknik ini menampilkankesan gelap terperinci dari sebuah bagian atas objek menggunakan memperhitungkan rona danpenyinaran menurut tiap sudut segitiga. Gouraud shading merupakan metode renderingsederhana bila dibandingkan dengan Phong shading. Teknik ini tidak menghasilkanefek shadow serta refleksi.

             Pada grafik 3D, poligon yang membangun citraperlu diwarnai sebagai akibatnya terlihat menggunakan baik. Gouraud shading merupakan galat satuproses yg memakai algoritma tertentu buat menciptakan gradasi warna.pewarnaan (shading) ini dapat dipakai pada games.

             Sebuah teknik yg dikembangkan oleh HenriGouraud pada awal tahun 1970. Teknik ini menampilkan kesan gelap terperinci darisebuah permukaan objek menggunakan memperhitungkan rona serta penyinaran menurut tiapsudut segitiga. Gouraud shading merupakan metode rendering sederhana jikadibandingkan dengan Phong shading. Teknik ini nir membuat efek shadowdan refleksi.  Metode ini digunakan dalamgrafik komputer buat mensimulasikan efek cahaya yang tidak sama dan warna dipermukaan benda.dalam prakteknya, Gouraud shading dipakai buat mencapaipencahayaan halus rendah-poligon permukaan tanpa berat menghitung kebutuhankomputasi pencahayaan buat setiap pixel.
(Klik gambar Untuk Memperbesar)
Contohgambar Gouraud Shading:



Flatshading


            Flat shading : suatu teknik shadesmasing-masing polygon menurut suatu objek menurut pada polygon “normal” danposisi dan intensitas sumber cahaya.

            Pemberian bayangan homogen (flat)adalah cara termudah buat dibuat. Bayangan rata memiliki karakteristiksebagai berikut :

•        Pemberian tone yg sama buat setiap polygon
•        Penghitungan jumlah cahaya mulai berdasarkan titik tunggal pada permukaan
•        Penggunaan satu normal buat seluruh permukaan.

Contoh gambar Flat Shading:


            Secara garis besar perbedaan antaraGouraud shading menggunakan flat shading adalah misalnya gambar dibawah ini :


CelShading


            Cel Shading (pada penjelasan yangpaling sederhana) merupakan sebuah teknik dalam merender gambar 3D supaya hasilnyatampak misalnya kartun menggunakan ciri-ciri adanya outline/garis pinggir danpencahayaan yg sederhana/kurang realistis.

Cara Pertama:

            Pada cara yg pertama, saya akanberusaha mengungkapkan bagaimana menghasilkan effect
ini menggunakan memakai acara Anim8or. Pagipengguna program 3D modeller yg lain sanggup menyesuaikan. Pertama-tama siapkansebuah contoh.


            Jika model ini terdiri menurut beberapamesh, sebaiknya semua mesh tersebut di satukan dengan perintah Join Solid(Build > Join Solid). Buat duplikat dari model tadi dan letakkanduplikatnya dalam object yang terpisah. Seterusnya kita akan mengedit contoh yangkedua


Pilih semua faces/trianggle-nya.

            Extrude seluruh faces/trianglen-yadengan menggunakan perintah (Extrude Faces connected) sebagai akibatnya modelnya akantampak menggembung. Sebaiknya jangan terlalu besar waktu meng-extrude face-nyaagar dampak yg dihasilkan jua nir terlalu tebal. Perintah Extrude FacesConnected akan menciptakan object mengembang secara proporsional.

            Perintah ini sedikit tidak sama denganScale. Pada perintah Scale, object diperbesar dengan memakai sentra objectsebagai sentra scale. Dengan menggunakan Extrude Faces Connected, tiap objectakan pada scale dengan menggerakkan tiap vertex searah menggunakan arah normalnya.

            Untuk melihat perbedaannya, bisamencoba sendiri kedua perintah diatas. Setelah itu set materialnya. Untukmenghasilkan effect cel shading kita perlu material yg bersifat bolak pulang.bagian depan di set transparant, sedangkan bagian belakang di set menggunakan warnahitam. Untuk detail perhatikan gambar berikut:

Setelah itu, kita tinggal menggabungkan objectpertama serta kedua:

            Hasilnya adalah sebuah model denganoutline yg tampak seperti gambar pada game HARVESTMOON dua: SAVE THE HOMELAND

Cara Kedua:

            Pada cara ke 2, kita akan membuateffect yg sama dengan bahasa pemrograman. Untuk itu usahakan dirimu memilikidasar pengetahuan mengenai pemrograman serta contoh 3D. Kodenya adalah menjadi berikut.kode ini ditulis dengan memakai Blitz3D. Bisa mendownload Blitz3D disini.

Code: [Select]


Graphics3D 640,480,16,2

SetBuffer BackBuffer()


camera=CreateCamera()

light=CreateLight()

PositionEntity camera,0,70,-100

TurnEntity camera,10,0,0

CameraClsColor camera,255,255,255


;load model

model=LoadAnimMesh("nana.B3d")

EntityFX contoh,1


model2=LoadAnimMesh("nana.B3d",contoh)

EntityFX model2,2

FlipMesh model2

EntityColor model2,0,0,0


Animate contoh,1

Animate model2,1


;scale model

For count=1 To CountSurfaces(model2)

            surf=GetSurface(model2,count)

            Fora=0 To CountVertices(surf)-1

                        xm#=VertexNX(surf,a)*1.5

                        ym#=VertexNY(surf,a)*1.5

                        zm#=VertexNZ(surf,a)*1.5

                        x#=VertexX(surf,a)

                        y#=VertexY(surf,a)

                        z#=VertexZ(surf,a)

                        VertexCoordssurf,a,x-xm,y-ym,z-zm

                        VertexColorsurf,a,0,0,0

            Next

Next


;render

While Not KeyHit(1)

            Cls

            TurnEntitymodel,0,1,0

            RenderWorld

            UpdateWorld

            Flip

Wend

End


Penjelasanprogram.


            Program ini terdiri menurut tiga bagian:load, fx, dan render Pada bagian load kita meload 2 butir model yg berasaldari arsip yg sama. Pada bagian FX, kita mengedit model yang diload kedua.model ini pada edit per vertex.  Prosesnyasama dengan proses yg dilakukan dengan Anim8or, hanya saja disini kitamenggunakan code buat membuat FX secara realtime. Kita membesarkan modelsedikit menggunakan cara menggerakkan tiap vertexnya searah dengan arah normal darivertex tersebut. Kemudian modelnya dibalik serta diberi warna hitam atau warnayang lainnya Yang perlu diperhatikan disini merupakan kita tidak mampu menzoommodelnya secara pribadi. Menzoom model akan menyebabkan model diperbesarrelative terhadap origin. Hal ini tidak akan membuat FX yang indah. Untukmenghasilkan FX misalnya cel shade maka tiap vertex wajib digerakkan searah denganarah normal dari vertex tadi.

            Pada bagian render, prosesnyaberjalan misalnya biasa. Kedua contoh dianimasikan secara bersama-sama. Modelyang ke 2 akan tampak dari belakang, sehingga warnanya tampak hitam serta karenaukurannya yang sedikit akbar maka akan tampak misalnya outline.

            Bayangan adalah proses penentuanwarna menurut semua pixel yg menutupi bagian atas memakai contoh illuminasi.

Metodenya melliputi :

-           Penentuanpermukaan tampak pada setiap pixel
-           Perhitungannormal pada permukaan
-           Mengevaluasiintensitas cahaya dan warna memakai contoh illuminasi.

            Jaring poligon secara umum seringdigunakan untuk merepresentasikan permukaan yg kompleks. Informasi geometriyang tersedia hanyalah vertice dari polygon. Interpolasi dari model bayangandapat digunakan buat meningkatkan substansi secara lebih efisien.

Unsur yang mensugesti bayangan adalah :

1. Normal Vektor


            Normal Vector merupakan vector yangarahnya tegak lurus dalam luasan (face). Normal Vector bisa diperoleh dariperkalian silang (cross-product) menurut dua vector yg berada pada face. Besardari Normal Vector Vector tegantung dalam output perkalian silangnya.

2. Unit Vektor

            Unit Vector merupakan vektor yangbesarnya adalah satu satuan dan arahnya tergantung arah vektor asalnya. Besarsuatu vektor dapat diperoleh dengan Agar vektor v menjadi unit vektor makasemua koefisien (vx,vy,vz)

3. Optical Vektor


            Sebuah konsep mengenai pencahayaanyang jatuh dalam sebuah benda. Model bayangan dibagi sebagai dua yaitu :

 A.     DirectLine


Flatshading


            Satu face mempunyai rona yang samadan flat shading memakai model Phong buat optical view. Pemberian bayanganrata (flat) merupakan cara termudah buat dibuat. Bayangan rata mempunyaikarakteristik menjadi berikut :

•          Pemberiantone yg sama untuk setiap polygon.
•          Penghitunganjumlah cahaya mulai menurut titik tunggal dalam permukaan.
•          Penggunaansatu normal buat semua bagian atas.

            Pemberian bayangan rata inimengasumsikan bahwa setiap muka polygon menurut sebuah objek adalah rata dan semuatitik dalam bagian atas mempunyai jeda yang sama menggunakan asal cahaya.


Gouraudshading


            Sebuah teknik yang dikembangkan olehHenri Gouraud dalam athun baru 1970. Teknik ini menampilkan kesan gelap terangdari sebuah permukaan objek menggunakan memperhitungkan rona serta penyinaran daritiap sudut segitiga. Gouraud shading adalah metode rendering sederhana jikadibandingkan dengan Phong shading. Teknik ini nir membentuk pengaruh shadowdan refleksi. Metode ini dipakai dalam grafik personal komputer buat mensimulasikanefek cahaya yg tidak selaras dan rona di bagian atas benda.dalam prakteknya, Gouraudshading dipakai buat mencapai pencahayaan halus rendah-poligon permukaantanpa berat menghitung kebutuhan komputasi pencahayaan buat setiap pixel.

Phongshading


            Terdapat disparitas antara phongshadingdengan phonglighting. Phonglighting merupakan model empiris buat menghitungiluminasi dalam titik dalam permukaan sedangkan Phongshading merupakaninterpolasi linear permukaan normal di segi itu, menerapkan model Phonglightingpada setiap pixel. Phong shading mengacu pada seperangkat teknik pada komputergrafis 3D.phong shading mencakup model bagi refleksi cahaya menurut bagian atas danmetode yangkompatibel memperkirakan pixel rona oleh interpolating permukaannormal dirasterized poligon.

            Model refleksi pula mungkin disebutsebagai refleksi Phong contoh, Phong Phong iluminasi atau encahayaan.ini mungkindisebut Phong shading dalam konteks pixel shader, atau loka lain pada manaperhitungan pencahayaan dapat dianggap sebagai "shading". Metodeinterpolasi jua mungkin disebut Phong interpolasi, yg umumnya disebutdengan "per-pixel pencahayaan".biasanya dianggap "pelindung"bila dibandingkan dengan metode interpolasi lain misalnya Gouraud pelindung atauflat shading.refleksi yg Phong contoh tersebut dapat digunakan beserta dengansalah satu metode interpolasi.
2.indirect Line


-Ray Tracing



-Radiosity



            Suatu medium dengan sejumlah diskrit.masalah sederhana bisa dianalisis dengan berbagi beberapa sinar menggunakan memakai matematika sederhana.analisis yang lebih detailnya bisa dilakukan menggunakan memakai komputer untukmenyebarkan banyak sinar.

            Ray tracing bekerja denganmengasumsikan bahwa partikel atau gelombang bisa dimodelkan sebagai sejumlahbesar berkas sinar yang sangat sempit, serta bahwa ada beberapa sinar yangmelewati batas jeda misalnya sinar yang bertempat datar. Sinar pelacak akanmepercepat sinar yang melewati jeda ini, serta kemudian memakai daerahturunan menurut medium untuk menghitung arah sinar baru. Dari lokasi ini, sinaryang baru akan dikirim keluar dan proses akan diulang hingga jalan yang lengkapdihasilkan. Apabila simulasinya meliputi benda padat, sinar bisa diuji padapersimpangan menggunakan setiap langkahnya, melakukan penyesuaian dalam arah sinarjika ditemukan adanya suatu ukiran. Properti lain menurut sinar bisa diubahsebagai  pencepatan simulasi jua.,seperti intensitas, panjang gelombang, atau polarisasi. Contoh kegunaan RayTracing (physics) ada pada frekuwensi radio, samudra akustik, serta desain optis.


            Ray Tracing (graphics), yangdigunakan buat generasi gambar 3D.

            Dalam grafik personal komputer , ray tracingadalah teknik buat menghasilkan sebuah gambar menggunakan menelusuri jalan cahayamelalui pixel pada gambar pesawat. Teknik ini sanggup menghasilkan tingkat ketajamangambar yg sangat tinggi – umumnya lebih tinggi dari pada metode tipescanline rendering, tetapi dalam biaya komputasi yg lebih besar . Hal inimembuat ray tracing paling cocok buat aplikasi pada mana gambar bisa pada-renderperlahan terlebih dahulu, seperti pada gambar diam dan film serta special effectstelevisi, serta kurang lebih cocok buat real-time aplikasi misalnya gamekomputer, pada mana kecepatan sangat penting. Ray tracing mampu mensimulasikanberbagai pengaruh optis, seperti refleksi dan pembiasan penyebaran, dan aberasikromatik. Ray tracing telah digunakan dalam lingkungan produksi buat off-linerendering selama beberapa dekade kini – yaitu rendering yang tidak perlumenyelesaikan semua adegan pada waktu kurang berdasarkan beberapa milidetik. Tentusaja kita nir boleh men-generalisasi serta membiarkan pengguna mengetahui bahwabeberapa implementasi raytracer sudah sanggup menekan pertanda “interaktif”.sekarang juga dianggap “real-time ray tracing”, yaitu bidang yang sangat aktifsekarang, karena telah dianggap menjadi hal yg besar bahwa akselerator 3Dperlu dipercepat. Raytracer sungguh menyukai daerah-wilayah yang kualitasrefleksinya penting. Banyak dampak yang tampaknya sulit dicapai dengan tekniklain yang sangat alami menggunakan raytracer : refleksi, pembiasan, kedalamanbidang, tingginya taraf kualitas bayangan. Tentunya hal tersebut tidak selaluberarti bahwa raytracer cepat.


Terdapat dua metode pada Ray Tracing yaitu:

1.         Forward Ray Tracing



2.         Backward Ray Tracing





             Dalam pemrograman shader masih ada 3 macamstandar pencahayaan (ligthing contoh) yang acapkali dipakai, yaitu :

1.         AmbientLighting : Merupakan keliru satu ligthing model yg dipakai tanpamemperhatikan arah datangnya cahaya / sumber cahaya (light source). Jadi padaAmbient Lighting, permukaan object akan mendapatkan cahaya berdasarkan segala arahdengan nilai dan intensitas yang sama.dimana semua bagian atas object akanmemiliki warna yang sama.

2.         DiffuseLighting : Merupakan lighting model yg memperhatikan arah datangnya cahayadan akan memantulkan/berbagi cahaya ke berbagai arah. Jadi pada DiffuseLighting, bagian atas object yg berhadapan menggunakan sumber cahaya akan memerimacahaya serta menyebarkannya ke berbagai arah.

3.         SpecularLighting : Sama seperti Diffuse Lighting, Specular Lighting merupakan lightingmodel yg memperhatikan arah datangnya cahaya. Akan namun pada SpecularLighting, cahaya yg datang hanya akan dipantulkan dalam 1 arah.


            Pada kesempatan kali ini, kita akanmembahas mengenai Diffuse Lighting. Salah metode / teknik yg paling bagusuntuk membuat Diffuse Lighting adalah menggunakan menggunakan metode LambertianReflection atau biasa disebut pula dengan Lambert Shading. Secara umum, rumusdari metode Lambert merupakan sebagai berikut :


Dimana:


ID = Intensity Diffuse (Intensitas cahaya darihasil Diffuse)
L = normalized Light Direction (Vector arahdatangnya cahaya / sumber cahaya yang telah dinormalisasi)
N = Normal Vector (Vector yg tegak lurus denganpermukaan object)
(N . L) = perkalian dot product antara VectorNormal dengan Vector Light Direction
C = Color (Warna)
IL = Instensity Light (Intensitas cahaya)


LightDirection dan Normal Vector


            Jadi, lambert shading diperoleh dariperkalian dot product antara vector normal dengan vector light direction.

            Selanjutnya, kita akanmengimplementasikannya dalam RenderMonkey. Setelah membuka RenderMonkey,lalu kita tambahkan DirectX Effect menggunakan cara Effect Group => EffectGroup w/ DirectX Effect. Kemudian terlebih dahulu kita ganti contoh/objectsphere menjadi model Teapot dengan cara klik kanan Model pada Effect1 kemudianpilih Change Model => Teapot.3ds, misalnya gambar berikut :
Mengubahmodel sebagai Teapot


            Setelah itu, pastikan contoh yangtampil dalam layar anda adalah contoh teapot bukan lagi sphere, seperti gambar dibawah ini :
Tampilanawal model Teapot


            Dikarenakan pada lambert shading kitaharus memakai Vector Normal, maka buat mendapatkan Vector Normal dariobject bisa dilakukan menggunakan menambahkan node pada Stream Mapping Node dengancara double klik pada Stream Mapping atau klik kanan Stream Mapping => Edit.kemudian klik Add, dan pilih NORMAL, ubah Data Type menjadi FLOAT3, sepertigambar di bawah ini :


StreamMapping dalam RenderMonkey


            Stream Mapping Node pada atas mendefinisikaninformasi apa saja yg sanggup kita peroleh menurut model serta dapat kita digunakanpada render engine.
Setelah kita mendefiniskan Normal, selanjutnyakita harus mendefinisikan lampu memakai Vector Light. Pada pemrogramanshader terdapat tiga tipe lampu (asal cahaya) yang mampu dipakai, diantaranyaadalah :

1.         DirectionalLight : Merupakan type lampu (asal cahaya) yang mempunyai komponen warna danarah, namun nir mempunyai komponen posisi. Sehingga intensitas cahaya yangditerima object tidak dipengaruhi oleh jarak antara object dengan sumbercahaya. Akan namun hanya dipengaruhi oleh arah menurut sumber cahaya.

2.         PointLight : Merupakan sumber cahaya yg memiliki komponen warna dan posisi, tetapitidak memiliki komponen arah. Point Light didefinisikan menjadi sumber cahayayang memancar menurut satu titik dan memancarkan cahaya merata ke segala arah.intensitas cahaya yang diterima object dari point light akan ditentukan olehposisi dan jeda object menurut asal cahaya.

3.         SpotLight : Merupakan sumber cahaya yg memiliki komponen warna, arah dan posisi.sehingga intensitas cahaya yg diterima object menurut selain ditentukan arahsumber cahaya pula dipengaruhi sang jeda object dengan sumber cahaya. SpotLight jua memiliki impak kerucut dimana intensitas cahaya pada tepi kerucut akanlebih kecil dibandingkan dengan pusat kerucut.


3tipe sumber cahaya : Directional Light, Point Light, serta Spot Light


            Pada percobaan kali ini, sumbercahaya yang akan kita pakai adalah sumber cahaya menggunakan tipe Directional Light.untuk membuatnya pada RenderMonkey dilakukan menggunakan menciptakan variable float3dengan cara klik kanan pada Effect1 => Add Variable => Float =>Float3. Lalu kita ganti nama variablenya menjadi lightDirection. Lantaran kitamenggunakan Directional Light, maka nilai menurut x,y, dan z adalah nilai arahdatangnya sumber cahaya. Kita misalkan saja arahnya (0, 0, -1), misalnya gambarberikut :


MenambahkanDirectional Light dalam program


            Setelah itu, jangan lupa jugamenambahkan variabel Color. Variabel Color digunakan buat warna dari Lambertshading. Untuk menambahkan variabel Color bisa dilakukan dengan cara klik kananpada Effect1, lalu pilih Add Variable => Color, ubah nama variabelnyamenjadi Color. Sedangkan nilai Intensitas Cahaya dalam tutorial kali ini kitaanggap permanen, yaitu 1.
Kemudian ganti code pada vertex shader dengancode di bawah ini :

float4x4 matWorldViewProjection;

float4x4 matWorld;


struct VS_INPUT

{

  float4 Position : POSITION0;

  float3 Normal : NORMAL;

};


struct VS_OUTPUT

{

  float4 Position : POSITION;

  float3 Normal : TEXCOORD0;

};


VS_OUTPUT vs_main( VS_INPUT Input )

{

  VS_OUTPUT Output;


  Output.position = mul (Input.position, matWorldViewProjection );

  Output.normal = mul (float4(Input.normal,0), matWorld);


  return( Output );

}


            sehingga pada kesempatan kali inihanya akan dijelaskan code-code yg belum dijelaskan pada artikel sebelumnya.

1.         float4x4matWorld;

Merupakan variabel matriks yg dipakai untukmentransformasi suatu nilai variabel menurut object space ke world space.perbedaan object space serta world space terletak dalam titik pusatnya. Padaobject space yg sebagai titik pusatnya adalah titik pusat object. Sedangkanpada world space yg menjadi titik pusatnya merupakan titik pusat origin (0,0,0).secara default pada Render Monkey, tidak terdapat perbedaan antar object space danworld space dikarenakan titik pusat object space serta world space berhimpitan.akan tetapi, hal ini bisa tidak sama jika kita menggunakan software lain, misalnyasaja Blender. Gambar di bawah ini adalah contoh perbedaan titik pusat antaraobject space dengan world space (dalam perangkat lunak Blender 3D) :
Perbedaantitik sentra dalam object space dan world space


            Untuk dapat memakai variabel matWorld,kita harus terlebih dahulu menambahkannya ke pada acara kita dengan caraklik kanan Effect1 => Add Variable => Matrix => Predefined =>matWorld. Agar acara dapat berjalan lancar pastikan kita sudah terdapatvariable  matWorld dalam Effect1.

2.         float3Normal : NORMAL;

Mendefinisikan variable Normal dengan semantikNORMAL yang telah kita tambakan pada Stream Mapping, digunakan untukmendapatkan normal vector berdasarkan contoh.

3.         float3Normal : TEXCOORD0;

Variable buat menampung nilai vector Normal danvector Light Direction. Nilai yang ditampung pada variabel ini merupakanOutput menurut proses Vertex Shader.

4.         Output.position= mul (Input.position, matWorldViewProjection );
Output.normal = mul (float4(Input.normal,0),matWorld);

            Mengubah nilai variable Normal padastruct Output buat menampung nilai vector Normal. Vector Normal diperoleh dariinput contoh (Input.normal). Dikarenakan Normal yang kita peroleh dari streammapping berada dalam object space maka buat mentransformasi ke world space kitaharus mengalikannya dengan matWorld. Dengan terlebih dahulu mengubahnya menjadifloat4 lantaran matriks matWorld ukuran 4×4. Penambahan nilai 0 untukperkalian variable Input.normal dikarenakan variable tersebut adalah vector,sedangkan jika variable tadi berupa posisi maka nilai yang ditambahkanpada adalah 1.

            Setelah mengganti code dalam vertexshader, langkah selanjutnya merupakan mengganti code pada pixel shader menggunakan codeberikut ini :

  float4 Color;

  float3 lightDirection;


struct PS_INPUT

{

  float4 Position : POSITION;

  float3 Normal : TEXCOORD0;

};


float4 ps_main(PS_INPUT Input) : COLOR0

{

  float NdotL = dot(Input.normal,normalize(lightDirection;));

  float4 Diffuse = NdotL * Color;


  return Diffuse;

}

Berikut merupakan penjelasan berdasarkan code padapixel shader pada atas :

1          float4Color;

Mendefinisikan variabel Color yg telahkita tambahkan sebelumnya.

1          float3lightDirection;

Mendefinisikan variable lightDirection  yang sudah kita tambahkansebelumnya. Variabel lightDirection berada pada world space.

struct PS_INPUT

{

  float4 Position : POSITION;

  float3 Normal : TEXCOORD0;

};


            Struct PS_INPUT adalah structuntuk menampung variabel-variabel yang akan dijadikan sebagai input dalam pixelshader. Lantaran input yang digunakan dalam pixel shader merupakan output darivertex shader, sehingga variabel dan nilai yg terdapat pada struct PS_INPUT samadengan variabel yang terdapat dalam struct VS_OUTPUT.

float4 ps_main(PS_INPUT Input) : COLOR0

{

   floatNdotL = dot(Input.normal,normalize(lightDirection;));

  float4 Diffuse = NdotL * Color;


  return Diffuse;

}


            Variabel NdotL dipakai untukmenampung nilai perkalian dot product antara Vector Normal dengan Vector LightDirection yang sudah dinormalisasi. Yang terakhir adalah Variabel Diffusemerupakan variabel yg buat menampung nilai Lambert Shading yang diperolehdari perhitung rumus yg telah dijelaskan di atas (ID=(N .  L) C  IL) menggunakan nilai IL merupakan 1.nilai variabel Diffuse inilah yg dipakai buat menampilkan object denganmetode Lambert Shading.

            Setelah kita menciptakan code pada vertexshader dan pixel shader, selanjutnya kita tinggal menjalankan code-code yangtelah kita buat tersebut menggunakan mengklik ikon Compile All Shader in Workspace()  pada RenderMonkey. Selanjutnya kitaakan melihat bahwa contoh teapot telah berubah tampilannya sebagai sepertigambar di bawah ini :
Outputdari Lambert Shading


            Bagian teapot yang terang adalahbagian yg menghadap ke arah cahaya, sedangkan bagian yg membelakangi sumbercahaya.

            Kita sanggup mengatur serta mengubah nilaidari variabel-variabel lightDirection, serta Color, buat menerima tampilansesuai menggunakan apa yg kita inginkan. Gambar berikut ini merupakan output darilambert shading dengan nilai lightDirection= (1.lima, 0.lima, -1.0), Color (RGBA) =(126,255,21,255).


Output Lambert Shading dengan membarui nilaivariable color serta lightDirection

•          Metodenyamelliputi : Penentuan permukaan tampak pada setiap pixel, Perhitungan normalpada permukaan, dan Mengevaluasi intensitas cahaya dan warna memakai modelilluminasi.

•          Metodepembuatan bayangan cukup mahal, buat membuatnya lebih efisien dilakukanmelalui kustomisasi buat merepresentasikan bagian atas yang spesifik.

•          Jaringpoligon secara generik seringkali dipakai untuk merepresentasikan permukaan yangkompleks.

•          Informasigeometri yg tersedia hanyalah vertice berdasarkan poligon.

•          Interpolasidari model bayangan dapat dipakai buat menaikkan substansi secara lebihefisien.

4Ragam Teknik Bayangan


• Constant Shading


 • GouraudShading


• Phong Shading
• Flat shading

            Pemberian bayangan homogen (flat)adalah cara termudah buat dibuat. Bayangan rata memiliki karakteristiksebagai berikut :

•        Pemberian tone yg sama buat setiap polygon
•        Penghitungan jumlah cahaya mulai berdasarkan titik tunggal pada permukaan
•        Penggunaan satu normal buat seluruh permukaan.

Contohgambar Flat Shading:

 1)     Gouraud shading


            Sebuah teknik yang dikembangkan olehHenri Gouraud dalam athun baru 1970. Teknik ini menampilkan kesan gelap terangdari sebuah bagian atas objek dengan memperhitungkan warna serta penyinaran daritiap sudut segitiga. Gouraud shading adalah metode rendering sederhana jikadibandingkan dengan Phong shading. Teknik ini tidak menghasilkan efek shadowdan refleksi.  Metode ini dipakai dalamgrafik komputer buat mensimulasikan efek cahaya yg tidak sama dan rona dipermukaan benda.dalam prakteknya, Gouraud shading dipakai buat mencapaipencahayaan halus rendah-poligon permukaan tanpa berat menghitung kebutuhankomputasi pencahayaan buat setiap pixel.

Contoh gambar Gouraud Shading:
 2)        Phongshading


            Phong shading mengacu padaseperangkat teknik dalam personal komputer grafis 3D. Phong shading meliputi model bagirefleksi cahaya berdasarkan permukaan dan metode yg kompatibel memperkirakan pixelwarna sang interpolating permukaan normal pada rasterized poligon. Model refleksijuga mungkin disebut menjadi refleksi Phong model, Phong Phong iluminasi ataupencahayaan.ini mungkin disebut Phong shading dalam konteks pixel shader, atautempat lain pada mana perhitungan pencahayaan bisa disebut sebagai"shading". Metode interpolasi juga mungkin diklaim Phong interpolasi,yg umumnya disebut dengan "per-pixel pencahayaan".biasanya diklaim"pelindung" bila dibandingkan menggunakan metode interpolasi lain sepertiGouraud pelindung atau flat shading. Refleksi yg Phong model tersebut dapatdigunakan beserta dengan galat satu metode interpolasi. Metode ini dikembangkanoleh Phong Bui Tuong di Universitas Utah.

Secara Garis besar , gambar disparitas berdasarkan Flatshading, Gouraud shading serta Phong shading:
 CONTOH :

            aku memiliki konsep buat membuatsebuah replika planet Bumi menggunakan menyertakan tulisan UNIVERSITAS GUNADARMA.saya akan menyebutkan tentang termin pembuatannya.

Tahap Pembuatan :

1.         Bukasoftware BLENDER, lalu buat sebuah bola. Caranya klik Add - Mesh -UVsphere. Kemudian set Segment : 32, Ring : 32, Radius : tiga.00. 


2.         Langkahberikutnya adalah menambahkan gambar permukaan Bumi dalam bola tersebut. Padapanel Shading klik Material buttons kemudian pilih Add New.
Selanjutnya dalam bagian Texture buttons pilih AddNew.


Lalu pada Texture Type pilih Image.
            Klik Load buat menciptakan gambarpermukaan Bumi. Gambar yang saya gunakan adalah : Sebenarnya ketika pada Render, gambarnya berporos pada sumbu Y. Jadi sayaakan mengubahnya sebagai sumbu Z. Caranya merupakan klik Material buttons padapanel Shading, kemudian klik pada Map Input kemudian klik Sphe. 
3.         Langkahselanjutnya merupakan menciptakan background angkasa. Rasanya kurang jika hanyamembuat replika planet Bumi tanpa adanya bintang-bintang. Caranya adalah klikWorld buttons pada panel Shading, kemudian buat warnanya sebagai hitam.
4.         Selanjutnyasaya akan membuat bintang menggunakan cara klik tab Mist/Stars/Physics. Kemudianklik Stars. 
5.         Gambarnyasudah hampir jadi, hanya saja masih relatif kasar. Jadi saya akan membuatnya lebihhalus dengan cara klik Editing panel kemudian klik Set Smooth dalam tab Links andMaterials. 


6.         Langkahterakhir adalah membuat tulisan UNIVERSITAS GUNADARMA. Caranya klik Add - Text.untuk mengedit kata-kata maka kita tekan tombol Tab sesudah itu kita bisamemasukkan kata/kalimat yg kita inginkan. Lalu buat membuat goresan pena menjadilebih tebal maka kita atur pada bagian Extrude. Hasilnya akan tampak sepertiini 
  
7.         Langkahterakhir adalah proses rendering. Klik Render - Render Current Frame. Hasilnyaakan tampak misalnya ini. 


ShaderSubsurface Scattering


            Subsurface scattering (SSS) adalaheffek pantulan cahaya lebih kurang bawah permukaan material, serta umumnya terdapatpada bahan misalnya kulit, lilin, dan marmer. Hasil dalam tepi bayangan  tampak relatif kabur, lantaran cahaya berdifusikeluar menurut daerah terang ke area bayangan. Sebagai hamburan cahaya, sebagiandiserap, menggunakan cahaya yg tersisa umumnya mengambil warna menurut bahan yangmendasarinya. Dalam perkara kulit, daging serta darah dibawah kulit menyebabkanpersebaran cahaya yang muncul berwarna jingga merah


MenghubungkanTeks menggunakan Bayangan 3D


            Sebelumnya, klik pilihan menu Layer >Rasterize > Type.  Selanjutnya gunakanPolygonal Lasso Tool (L) serta hubungkanlah sudut setiap huruf menggunakan bayangan3D, isilah area seleksi menggunakan wrna merah tua (#990000) sebagai akibatnya membentuk teks3D berbentuk balok, seperti yg ditunjukkan di bawah ini.
MenambahkanBayangan Pada Layer Teks


            Sekarang kita sudah mendapatkan teks3D yg diinginkan, buat menambahkan imbas bayangan, pastikan Anda masih beradapada layer teks yg berwarna merah gelap, klik pilihan menu Layer > Layer Style> Gradient Overlay, ikuti seting Gradient Overlay serta Color Overlayseperti gambar di bawah ini.
 Menambahkan Bayangan Teks


            Untuk menambahkan bayangan di bawahteks, pulang ke layer teks rona merah terang, buat duplikat layer denganmenekan tombol Cmd/Ctrl+J, selanjutnya isi layer baru menggunakan rona hitam(#000000).  Pindahkan layer ini tepatdibawah layer teks yang berwarna merah gelap, pakai Transform Tool (T) atautekan Cmd/Ctrl+T, tarik kotak Transform Tool ke atas, bawah, kiri atau kananuntuk menerima bayangan teks yg sinkron, seperti gambar pada bawah.



            Selanjutnya klik pilihan menu Layer >Rasterize > Type, lalu pilih menu Filter > Blur > Motion Blur,ikuti gambar dibawah buat mengatur blur bayangan teks.  Untuk menerima bayangan yang lebih kuat,gandakan layer dengan menekan tombol Cmd/Ctrl+J, kemudian gabungkan ke 2 layerini menggunakan menentukan pilihan menu Layer > Merge Down.


MembuatBlur Shadow


            Buat lagi duplikat layer buat layershadow, selanjutnya gabungkan kedua layer ini menggunakan memilih pilihan menu Layer >Merge Down, pilih pilihan menu  Filter > Blur> Gaussian Blur serta sesuaikan Radius ke 12.0

Popular posts from this blog

Pembagian Persebaran Flora dan Fauna di Indonesia Terbaru

ADZAN IQOMAH DAN DOA SESUDAH ADZAN TERBARU

Mencari Keliling dan Luas Gabungan Dari Persegi Panjang dan Setengah Lingkaran Terbaru