Selamat datang di blog PioDiamond.
Pioshader v5.2 Beta |
Kali ini, kita akan membahas tentang bagaimana mengatur pewarnaan world di Minecraft PE. Tetapi di artikel ini saya belum membahas pewarnaan menggunakan tonemap. Tonemap akan saya bahas di artikel selanjutnya.
Langsung saja kita mulai. Jika teman-teman belum memiliki shader original minecraft, silakan download di sini. Kemudian, ekstrak ke Internal Storage > games > com.mojang > resource_packs. Setelah di ekstrak, silakan buka file renderchunk.fragment di folder Internal Storage > games > com.mojang > resource_packs > vanilla > shaders > glsl menggunakan text editor.
Kontras
Kode untuk kontras sangat simpel, yaitu hanya melakukan pengalian atau pembagian. Contohnya :
diffuse.rgb *= 1.2;Kode sama dengan diffuse.rgb = diffuse.rgb * 1.2;
Kode diletalan di atas teks #if !defined(ALWAYS_LIT). Jika 1.2 diganti dengan angka yang lebih tinggi maka blok terang seperti Block of Iron, Pasir, Snow, dll. akan menyakitkan mata ( Pahami sendiri kalo gak paham, wkwk ).
Original |
diffuse.rgb *= 1.2; |
Brightness
Kode kecerahan/brightness juga sama dengan kontras, hanya saja dilakukan penambahan atau pengurangan nilai. Seperti kode di bawah ini.
Kode sama dengan diffuse.rgb = diffuse.rgb - 0.1;diffuse.rgb -= 0.1;
Kode diletalan di atas teks #if !defined(ALWAYS_LIT).
Original |
diffuse.rgb -= 0.1; |
Saturasi
Untuk saturasi, kalian bisa gunakan kode di bawah ini dan di letakan di atas void main(). ( Sumber : https://github.com/CesiumGS/cesium/blob/master/Source/Shaders/Builtin/Functions/saturation.glsl )
vec3 saturation(vec3 rgb, float adjustment)Cara pakainya, cari teks #if !defined(ALWAYS_LIT). kemudian tulis kode di atasnya seperti kode di bawah ini.
{
const vec3 W = vec3(0.2125, 0.7154, 0.0721);
vec3 intensity = vec3(dot(rgb, W));
return min( mix(intensity, rgb, adjustment), vec3( 1.0, 1.0, 1.0 ));
}
diffuse.rgb = saturation( diffuse.rgb, 1.5 );Angka 1.5 bisa diganti sesuai keinginan kalian. 1.0 jika tanpa saturasi, 2.0 untuk double saturasi dan 0.0 untuk abu-abu.
Original |
diffuse.rgb = saturation( diffuse.rgb, 1.5 ); |
Nah, selain tiga kode di atas kalian juga bisa menyesuaikan warna pada blok. Dalam pewarnaan hanya ada tiga warna dasar, yaitu RGB atau Merah, Hijau dan Biru. Jadi kita membutuhkan tipe data vec3. Misalnya, saya ingin world Minecraft PE saya sedikit lebih biru. Maka kodenya :
vec3 warna = vec3( 0.85, 0.85, 1.2 );
diffuse.rgb *= warna;
Original |
diffuse.rgb *= warna; |
Posisi kode tentu akan mempengaruhi hasil. Sama seperti mengerjakan soal matematika. Maksudnya? Oke, contohnya jika 1 + 2 * 2 = 1 + 4 = 5. Tentu akan berbeda dengan ( 1 + 2 ) * 2 = 3 * 2 = 6. Berbeda bukan? Nah, jadi ini bukan masalah pintar atau nggak masalah matematika. Hanya saja lebih kebagaimana mengatur logika.
Sisanya bisa kalian kreasikan sendiri, untuk pewarnaan world. Ada baiknya kalo lebih sering dicoba-coba agar semakin tau. Atau kalian bisa coba aplikasi Shader editor di playstore untuk membuat kode sebelum digunakan ke Minecraft PE.
Aku dah bisa exposure bang
BalasHapusKodenya:
Taruh di atas void main()
vec3 czm_exposure(vec3 diffuse)
{
float gamma = 0.0;
float exposure = 1.7;
diffuse *= exposure/(1. + diffuse / exposure);
//.diffuse = pow(diffuse, vec3(1. / gamma));
return diffuse;
}
Lalu didalam void main()
vec3 exposure = czm_exposure(vec3(diffuse.rgb));
diffuse.rgb = exposure;
Nice. Semangat terus cuy.
Hapusexposure Itu apa? :v
HapusMaaf Saya Gk Ngerti Apa Itu exposure Soalnya Saya Masih Pemula :v
Coba dulu di shader editor.
Hapusnext tutorial bikin water noise
HapusHabis itu kodenya apalagi
HapusExposure itu apa ya?
HapusTranslate 🌚🌚
Hapusexposure itu sama seperti kecerahan. Saudaraan dengan brightness
HapusNext Bikin Dynamic lighting
BalasHapusBang saya pengen nanya gimana cara gituin kode underwater diminecraft kayak ada cahaya matahari yang masuk ke airnya?
BalasHapusDan waving water kayak air bergelombang gitu gimana caranya bang Pio?
HapusSaya masih berharap kode sore hari, dan juga direct light
BalasHapusGw tau kode Direct Light,kodenya memakai position.
HapusAssalamualaikum MC ALFA, kode direct lightnya bagaimana ?, boleh dituliskan disini ga ?
Hapuswa'alaikum salam,creypadd.
Hapusnjer malah gw yg jawab:v
mau kode direct light?
vec3 nama = (1.0-ceil(fract(position)));
lanjutan?chet saya di fb:
zensky(ProNoob Coder)
Oh itu hanpir sama dengan tonemap.
BalasHapusSuka dicampur orang sama tonemap.
Kak nama fb pio diamond apa?
BalasHapusAtau ada yg tau facebook kak pio diamond?
Aku bth bnget.
Kalo gw pake apk protoshade buat ngedit seperti:
BalasHapusEfek Spacular,Parallax Oclussion Mapping(POM),Normal Map,dll.
kasih tutorial dong biar tahu caranya
Hapusup:v
BalasHapusbanyak orang ga tau bahwa nama asli efek matahari sampe ke dalem aer itu "caustic"����
padahal itu bukan hanya shader��
Up:v
BalasHapusNumpang iklan:v
btw,yok ikut gabung di grup fb:
- Minecraft Indonational
- M.S.E. Official Group(Minecraft Shader Education Official Group)
ikut gabung di 2 grup facebook diatas untuk bisa belajar lebih banyak tentang shader Minecraft.
note:
kalo si pio diamond mau ikut gabung juga,gak apa apa:v
my fb: zensky(ProNoob Coder)
Bg pio pls buat tutorial untuk win10 karena saya mau buat texture pack
BalasHapusBang kode bayangan pohon apa ya?
BalasHapusoi liat youtube dia lah dia kan dah pernah bikin tutorial bayangan pohon :v
HapusBang saya menggunakan Cara Ke 3, Tapi kok masih ngeblank ya🤔
BalasHapusBng gua mau tanya nih, bisa gk kalo kode kontras dan kode brighness di gunakan dua2nya ,soalnya aku mau menurunkan brightenss dan menaikan kontras , dijawab. Ya
BalasHapusBisa sih kayaknya
HapusBang bisa koleb dengan aku
BalasHapusBisa lewah email
diamondpersib@gmail.com
Bang bisa koleb dengan saya
BalasHapusEmail diamondpersib@gmail.com
Ngontak lu susah banget bang
BalasHapusLetelan apa artinya bang
BalasHapus