Pada artikel kali ini kita akan membahas tentang tipe data dan fungsi dasar pada bahasa Shader Minecraft PE (glsl).
Karena penjelasan di google kadang sulit dipahami, maka saya akan coba menggunakan penyampaian sendiri. Semoga saja kalian paham ya 😁.
Pada dasarnya, ada beberapa tipe data dan fungsi paling dasar untuk posisi dan pewarnaan. Yaitu bool, int, float, vec2, vec3, dan vec4.
Pengertian dari fungsi di atas adalah, sbb:
- bool, merupakan tipe data yang hanya menyimpan data bernilai true atau false. Contoh: bool jalankan = true;
- int, merupakan tipe data yang hanya menyimpan nilai bilangan bulat. Contoh: int angka = 10;
- float, merupakan tipe data yang hanya menyimpan nilai bilangan desimal. Contoh: float angka = 10.0;
- vec2, merupakan fungsi yang menyimpan 2 bilangan int atau 2 bilangan float. Biasanya digunakan untuk menyimpan sumbu x dan sumbu y ( 2 dimensi ). Contoh: vec2 pos = vec2( 1.0, 0.0 );
- vec3, merupakan fungsi yang sama dengan vec2. Hanya saja vec3 menyimpan 3 sumbu, yaitu sumbu x, y dan z ( 3 dimensi ). Terkadang digunakan untuk pewarnaan juga (RGB). Contoh: vec3 pos = vec3( 1.0, 0.0, 1.0 );
- vec4, merupakan fungsi yang menyimpan 4 bilangan int ataupun float. Fungsi ini digunakan untuk menyimpan warna, yaitu merah, hijau, biru, dan transparansi (RGBa). Contoh: vec4 warna = vec4( 1.0, 1.0, 0.0, 1.0 );
- void main(), merupakan fungsi pertama yang akan di jalankan oleh program
- gl_FragColor, merupakan keluaran dari kode warna yang telah diproses menjadi grafik ketika game dimainkan.
- gl_Position, merupakan posisi blok
- diffuse, merupakan variabel default Minecraft PE/BE untuk menampung proses pengolahan warna.
- uv1, merupakan detektor cahaya. uv1.x sebagai detektor cahaya blok dan uv1.y sebagai detektor cahaya langit.
- POSITION, merupakan koordinat blok dengan cakupan 16x16x16 (x, y, z) dan akan menjadi 0 lagi setelah mencapai angka 16.
- worldPos, merupakan variabel yang valuenya mengikuti pemain ( Pada pemain nilainya xyz(0,0,0)) dan batas maksimum valuenya saya gak tau wkwkk.
- mix( x, y, z ), merupakan fungsi penggabungan nilai x dan y berdasarkan nilai z. ( Jika z bernilai 0, maka hasilnya adalah x, dan jika z bernilai 1 maka hasilnya adalah y ).
- FOG_COLOR, merupakan warna kabut.
- FOG_CONTROL, merupakan kondisi cuaca/suasana di dalam game.
- texture2D( x, y ), merupakan pengambilan texture pack kedalam kode dan dijadikan nilai rgb per pixelnya. x adalah sampel gambarnya ( perpixel ) dan y adalah koordinat texture yang diambil. Contoh : texture2D( TEXTURE_0, uv0 ); untuk texture pack dan texture2D( TEXTURE_1, uv1 ); untuk pencahayaan siang dan malam.
Nah, tipe data dan fungsi di atas saya jelaskan dengan pemahaman saya sendiri dan jika ada kesalahan bisa dikoreksi. Untuk fungsi lainnya, kalian bisa cari di internet dengan cara "nama_fungsi glsl" contoh "mix glsl".
Untuk tipe data dan fungsi dasar pada Shader Minecraft PE (glsl) saya rasa cukup sampai di sini. Dan Good Luck 😁.
Untuk tipe data dan fungsi dasar pada Shader Minecraft PE (glsl) saya rasa cukup sampai di sini. Dan Good Luck 😁.
Resolution dalam Minecraft itu apa?
BalasHapusDi minecraft pe gak ada resolution. Gambar cuma screenshoot dari Shader editor 😅
HapusOhh, gua ngerti, jadi resolution itu resolusi gambar menurut layar
HapusAwokwokwok
BalasHapusBang tutorial ilangin code air gerak
BalasHapusContoh (shader Bicubic/ shader abang) yg airnya realistis jadi biasa aja
Menghapus kode gerak air tergantung bentuk kodenya. karena pembuatan kode berdasarkan logika si pembuat. Setiap creator punya gaya pembuatan kode masing-masing.
HapusBedanya GLSL sama HLSL itu apa
BalasHapusPenulisan bahasanya beda. Di Minecraft BE, hlsl digunakan untuk windows dan xbox. Sisanya pake glsl.
HapusBang,itu program java kan?
BalasHapusBukan, tapi c++
HapusBang
BalasHapusCara buat gerak air sama daun di tutorial youtube yok ngebug bang?
Kodenya udah gua tulis bener tapi daun sama airnya malah ngilang?? Itu mengatasinya gimana bang?
Iya sama nge bug mungkin kodenya udh lama dan mungkin kita yg kurang teliti bro?!.
HapusKak Tutorial DirectLight Dong
BalasHapusEntah aku pernah liat di Cleo's Shader(milik bang irshad)ada float1,float2 sampe float5 apa itu sebenarnya bang?
BalasHapusuniform int SHADOW_IN_POS;
BalasHapusBuat dynamic shadow
Pala kau,mana ada dynamic shadow di mcpe,terrain mcpe dengan terrain pc beda,goblok.
HapusBang cara gw pengen ganti bentuk air shader punya orang lain gmn bang? misalnya shader BSL mau gw ganti airnya dari shader Continuum gmn bang?
BalasHapusBang itu minecraft kenapa kok shadownya pasti seperti itu beda sama pc
BalasHapusmcpe gk support realtime shadow atau dynamic shadow.
Hapuskarna terrain mcpe beda seperti terrain pc.
Bg, tolong ajarin cara menggunakan FOG_CONTROL dan letak kodenya di atas kalimat yang mana saya juga nga tau wkwkwk
BalasHapusfungsi dari "length,sqrt,reflect,void,ceil dan stp" itu apa bang?
BalasHapusliat di grup belajar shader di facebook:
BalasHapus- M.S.E. Official Group
- Minecraft Indonational
Apa maksud dari:
BalasHapus- max dan min
- pow
- sin
- tan
- cos
- in
- out
- inout
- sign
- sqrt
- reflect
- normalize
- smoothstep
- fract
Menunggu jawaban dari Pio Diamond(C++ Pro Coder):V
note:
My Facebook Account: Shader GLSL
uniform sampler2D RAY_TRACE;
uniform int SPECULAR_LIGHT;
highp vec4 entah(vec4 100_abad_baru_dibales){
vec4 njer = vec4(0.0);
for(int jawab = 0; jawab < 9; jawab++){
njer = 100_abad_baru_dibales;
}
return njer;
}
kayak math function, cari aja di google javascript math function
Hapuscara coding hlsl gimana bang/ biki tutorial aja
BalasHapuslebih detail lagi bang biar semua paham
BalasHapusBang, klo edit shaders gmn, edit warna pasir gurun, ane nemu shaders bagus tp warna pasir gurunnya terang bgt
BalasHapusHilangin kode saturasi worldnya di renderchunk.fragment diatas #ifdef FOG, ganti dengan tonemap taruh tonemapnya diatas void main dan kode aktifatornya diffuse.rgb += Tm(diffuse.rgb); taruh diatas #ifdef FOG biar pasirnya gak terang tapi warna grassnya bagus
HapusBang itu bicubic shaders kenapa kok gk ada file renderchunk nya
BalasHapusyahaha mau nyolong ya :)
HapusBang, gimana caranya raycast dengan shader
BalasHapusBang, gimana cara ngilangin cahaya dari block di shader DSPE, soalnya mau pake shader RGB light tapi setelah kutambahin DSPE, RGB light-nya gak ada
BalasHapusBang tau cara glow crimsoon
BalasHapusBang tau cara glow ore
BalasHapusShader itu apaan
BalasHapusmenurut pendapat saya shader adalah suatu program / coding mengcoding untuk memperbagus graphics dalam game atau lain sebagainya itu setau saya kalau salah mohon maaf
HapusBang fungsi SEASONS itu apa
BalasHapusKan setau saya BLEND utk air/hal transparan yg lain
FANCY utk block
ALPHA_TEST utk benda dgn alpha
Kalo SEASONS buat apa bang?
bang saya kan lagi iseng nyoba buat gerakan daun yang gerakannya itu bisa lambat terus kenceng , lambat terus kenceng, nah aku udah tanya di beberapa shader creator katanya itu, buatlah beberapa gerakan daun lagi yang nominalnya berbedah dan diganti menjadi cos ataupin sin, saya sudah coba kok malah ngebug? apa karna posisi naruhnya salah �� ini yg salah tulis didalam renderchunk.vertex : #ifdef ALPHA_TEST
BalasHapusif(color.g>color.r){
gl_Position.x += cos(TIME*4.0+POSITION.x+POSITION.z+POSITION.y+POSITION.x)*cos(POSITION.z)*0.03;
gl_Position.x += sin(TIME*3.5+POSITION.x+POSITION.z+POSITION.y+POSITION.x)*cos(POSITION.z)*0.03;
gl_Position.x += pos(TIME*3.0+POSITION.x+POSITION.z+POSITION.y+POSITION.x)*cos(POSITION.z)*0.03;}
#endif
tolong bang kasih tau saya salahnya dimana ����
Kode itu emang ngebug,nih kode baru
Hapus#ifdef ALPHA_TEST
if(color.g > color.r){
highp vec3 wave = POSITION.xyz; [bisa diganti worldPos.xyz;]
kodenya:
gl_Position.x += sin(TIME*2.0+wave.z+wave.z+wave.x + cos(TIME*1.0+wave.y+wave.x)) * sin(wave.x+wave.y) * 0.18;
}
#endif
Selanjutnya lu bisa kreasikan sendiri,semoga berguna...
Bang kode nya kok gk work padahal udah teliti
BalasHapusKalau bisa abang tulis aja bang di komentar
Loading......
#pio diamond
Plis bang tulisin di kolom komentar
Bang tulisin kode pencerahan di komentar
BalasHapusWow saya pengen belajar
BalasHapus