Minggu, 24 November 2019

Mengenal File dasar Shader Minecraft PE

Halo teman-teman! Ini postingan pertama pada blog ini untuk membahas shader.
 Nah, kita mulai dulu nih dengan pengenalan file-file shader yang ada di Minecraft PE.


Silakan download dulu shader vanilla (Shader original Minecraft v1.13) di sini.
Untuk Minecraft versi lama, nanti akan saya bahas bagaimana cara pengambilan file shadernya.

Nah, setelah kalian download shader yang saya sebut di atas. Silakan ekstrak ke folder Internal storage > games > com.mojang > resource_packs. Setelah di ekstrak, silakan buka folder ShaderTest > shaders > glslDi dalam file shader vanilla/Original MCPE yang saya bagikan di atas, ada beberapa file shader.


Dari beberapa file tersebut beberapa file shader itu berfungsi sebagai:

  • renderchunk.fragment, berfungsi sebagai pewarnaan blok pada overworld, nether, maupun the end.
  • renderchunk.vertex, berfungsi sebagai posisi, gerak, peletakan blok.
  • sky.fragment, mengatur warna langit
  • entity.fragment, berfungsi sebagai pewarnaan entity seperti sapi, chest, villager, dan lain-lain.
  • entity.vertex, berfungsi sebagai posisi dari pewarnaan entity tersebut.
Untuk file-file yang lain, mungkin akan kita bahas di artikel lain. Mudahan teman-teman jadi lebih paham hal dasar dari pengenalan file-file dasar shader MCPE.
Dan terimakasih sudah berkunjung. See you next time. 

38 komentar:

  1. Bagus bang, artikel yang lain dong

    BalasHapus
    Balasan
    1. Bang saya mau tanya kalo banner.fragment sama banner.vertex gunanya apa ya

      Hapus
  2. Bang pake ini buat bikin awan yang bagus
    Namanya FRACTAL_BROWNIAN_MOTION

    float fbm(vec2 x) {
    float v = 0.0;
    float a = 0.5;
    vec2 shift = vec2(100);
    // Rotate to reduce axial bias
    mat2 rot = mat2(cos(0.5), sin(0.5), -sin(0.5), cos(0.50));
    for (int i = 0; i < NUM_OCTAVES; ++i) {
    v += a * noise(x);
    x = rot * x * 2.0 + shift;
    a *= 0.5;
    }
    return v;
    }

    BalasHapus
    Balasan
    1. Itu di taroh di dalem void main apa bukan?

      Hapus
    2. Itu nyolong dari shadertoy.com

      Hapus
    3. Bukan, itu dari github, noise algorithm

      Hapus
    4. Itu code nya taruh di mana?

      Hapus
    5. di tulis gini dulu ya?

      FRACTAL_BROWNIAN_MOTION

      abis itu kode nya? atau gausah kasih itu, jadi langsung kodenya?

      Hapus
    6. Itu nama kodenya fractal brownian motion, terserah kamu tulis awan/fbm/dll.., yang penting tulis kode tadi di atas void main, cara makenya float nama = fbm(posisi(varying dari vertex)).xz);
      Tinggal kamu sendiri mau make gimana

      Hapus
    7. Oh iya, cara make NUM_OCTAVES itu kaya gini :
      #define NUM_OCTAVES 5 [Terserah mau nyampe berapa]
      (atau kamu ganti aja NUM_OCTAVES nya sama angka, jangan pake titik)
      Untuk noisenya kamu cari aja di shadertoy atau github, pasti kan untuk milih yang 2D(vec2)

      Hapus
  3. gimana kmu bisa tau code(value) waktu malam dan siang?

    dan kok kmu bisa tau kode yg bagian hujan?

    BalasHapus
    Balasan
    1. Pelajarin dari shader orang lain

      Hapus
    2. Dibagian hujan menggunakan:

      #ifdef FOG
      Masukin efek hujanmu
      #endif

      dan juga

      if(FOG_CONTROL.x < 0.55 && FOG_CONTROL.x > 0.1){
      masukin kode efek hujanmu
      }

      Hapus
    3. tolong dibuatin tutorial shader di youtube biar lebih paham

      Hapus
    4. #ifdef fog yg di line berapa ?

      Hapus
  4. Mas kalo cloud.vertex kan turunan dari sky.vertex, kalo terrain.vertex itu untuk apa?

    BalasHapus
    Balasan
    1. Itu sebenarnya renderchunk, cuma pemanggilannya diubah. Filenya pemanggilnya ada di foleder "nama shader > materials > terrain.material"

      Hapus
  5. Bang file yg untuk mengubah water/waving water itu yg mana ya?

    BalasHapus
  6. Min, mau ngilangin animasi daun sama air gmn ya?

    BalasHapus
    Balasan
    1. Hapus aja kode diatas

      ////apply fog

      Hapus
  7. Min,, gimana cara setting sheder agar cahaya dimalam hari bisa diterangin lagi.. soalnya malamnya gelap

    BalasHapus
  8. Akhirnyaaaaa akuu ngertiii jugaa berkat kauu banggg😭😭

    BalasHapus
  9. Bang Pio , untuk kode noise itu kalo buat sendiri naruh kodenya dimana ya ?
    , Mohon penjelasannya🙏

    BalasHapus
    Balasan
    1. Noise dan hash/rand di taro di atas void main dan aktifasinya di bawah void main.

      Hapus
  10. up:v
    sky.fragment kan nama aslinya color.fragment����
    bisa diubah di sky.materials.

    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 gabung juga,gak apa apa:v

    my fb: zensky(ProNoob Coder)

    BalasHapus
  11. Bang kalau bikin dynamic light/torch menyala saat dipegang di tangan kiri gimana?

    BalasHapus
  12. adakah yg bisa bantu saya,code biar matahari silau itu gimana?

    BalasHapus
  13. bang tolong jelasin "wpos" dan clamp secara detail. 🙏🙏😀clamp itu untuk membatasi. nah batesinya kek mana maksudnya. kenapa harus dijepit dan apa kegunaan utamanya?????

    BalasHapus
  14. Bang kenapa saat
    langsung saya kasih kode gerak daun kok malah jadi transparant?

    BalasHapus
    Balasan
    1. Itu salah kodenya bambang, makanya error

      Hapus
  15. Thanks Bang Sangat Membantu banget

    BalasHapus