40 poin oleh GN⁺ 2025-12-29 | 1 komentar | Bagikan ke WhatsApp
  • Platform pembelajaran online untuk mempelajari computer graphics secara gratis, dari dasar hingga topik lanjutan
  • Membahas beragam topik secara sistematis, seperti 3D rendering, dasar matematika, digital imaging, procedural generation, dan tooling
  • Struktur pembelajaran berfokus pada praktik, dirancang agar pengguna lebih dulu merasakan hasil langsung daripada teori
  • Terus berkembang dengan kursus pembelajaran Vulkan API (baru), blog 3D programming (segera hadir), dan buku (akan terbit)
  • Sumber belajar gratis yang membantu developer dan desainer memahami secara mendalam prinsip dan teknik implementasi computer graphics

  • Scratchapixel adalah situs web untuk mempelajari computer graphics secara gratis dengan slogan “Learn computer graphics from scratch and for free”

Kursus yang saat ini tersedia

  • Dasar-Dasar 3D Rendering (The Foundations of 3D Rendering)

    • Kursus pengantar rendering yang disusun dengan urutan ramah pemula
      • Mengadopsi pendekatan yang lebih dulu membahas implementasi hasil nyata daripada teori
    • Topik utama kursus meliputi
      • Pengantar Ray-Tracing, rendering adegan 3D, Rasterization, projection matrix, shading dan lighting, texturing, acceleration structure, volume rendering, dan lainnya
    • Setiap pelajaran membahas perhitungan koordinat piksel, model kamera pinhole, konsep BRDF dan shader, dan lainnya bersama contoh implementasi nyata
  • Matematika untuk Computer Graphics (Mathematics for Computer Graphics)

    • Menjelaskan teori dan alat matematika yang dibutuhkan untuk implementasi graphics
      • Bagian ini bukan ditujukan sebagai pengantar, melainkan sebagai materi referensi untuk konsep-konsep yang disebut dalam kursus lain
    • Topik utama meliputi geometri, inverse matrix (metode Gauss-Jordan), interpolasi, fungsi LookAt, matematika shading, metode Monte Carlo, transformasi Fourier, dan lainnya
  • Computer Graphics Gems

    • Kumpulan topik graphics individual yang menarik dan tidak masuk ke kategori tertentu
      • Saat ini hanya mencakup pelajaran tentang radiasi blackbody
  • Geometry

    • Membahas cara mendefinisikan bentuk dalam computer graphics
      • Menjelaskan cara merepresentasikan bentuk dengan kurva dan permukaan Bézier
  • Digital Imaging

    • Membahas pemrosesan file gambar dan manajemen warna
    • Topik utama meliputi cahaya dan color space, transformasi file-ke-layar pada gambar digital, manipulasi gambar dasar, dan lainnya
  • Procedural Generation of Virtual Worlds

    • Membahas simulasi prosedural dari fenomena alam
    • Mencakup topik seperti Value Noise, Perlin Noise, dan simulasi warna langit
  • Tooling

    • Membahas pengembangan alat 3D dan teknologi interaksi
    • Mencakup topik seperti windowing, format file OBJ, dan kontrol navigasi kamera

Kabar terbaru

  • Blog yang akan segera dibuka akan membahas bukan hanya 3D programming, tetapi juga topik terkait seperti AI dan pendidikan
  • Kursus baru tentang Vulkan API akan segera ditambahkan
  • Buku berjudul "Learn Computer Graphics Programming from Scratch" juga akan segera terbit

1 komentar

 
GN⁺ 2025-12-29
Komentar Hacker News
  • Situs web ini benar-benar sudah berkembang pesat. Begitu bagus sampai-sampai Santa rasanya perlu meninggalkan donasi.
    Menurut saya, bidang grafika komputer membutuhkan lebih banyak materi pembelajaran terbuka. Teknologi lama terkubur di dalam buku-buku usang, sementara teknologi baru tersembunyi di balik tembok perusahaan. Buku seperti 3D Graphics Programming Games and Beyond karya Sergei Savchenko adalah contoh yang bagus.
    API grafis modern sekarang terlalu rumit tanpa perlu, jadi menurut saya titik awal yang lebih baik adalah melupakan GPU dulu dan langsung mengimplementasikan software rasterizer atau ray tracer sendiri.
    Namun, agak disayangkan karena situs ini tampaknya tidak punya cara kontak selain Discord. Akan lebih baik jika halaman donasi juga bisa diakses langsung dari halaman utama

    • Saya ingat dulu ada seorang mahasiswa yang bilang ingin membuat game 3D, dan profesornya terlihat kebingungan. Jadi saya menyarankan, “coba pinjam buku Foley & Van Dam dari perpustakaan.” Sekarang sudah ada beberapa edisi revisinya — Computer Graphics (Goodreads)
  • Ini benar-benar sumber yang sangat berharga.
    Nama panggilan saya diambil dari engine 3D Reactor yang dulu saya buat. Quake 3 mengubah hidup saya saat masih SMA. Jika Doom membuat saya masuk ke dunia komputer, Quake 3 membuat saya jatuh cinta pada 3D.
    Saya tidak terlalu paham matematika, tapi belajar dengan menyalin kode, dan sekarang saya menjalani karier yang menggabungkan web dan grafika. Berkat WebGL dan WebGPU yang makin umum, saya bahkan pernah mengajari para doktor di tempat kerja tentang vertex packing dan cara mengirim struct GPU.
    Saya juga pernah bekerja dengan pengembang XNA Silverlight, jadi mungkin bisa dibilang masih kerabat jauh dari MonoGame. Sekarang pendekatan baru seperti Vulkan/DX12/Metal sedang menjadi arus utama

  • Situs ini benar-benar keren. Saya pasti akan melihatnya lebih jauh.
    Waktu kuliah pascasarjana saya pernah mengimplementasikan ray tracer sendiri, dan buku rujukan saya saat itu adalah An Introduction to Ray Tracing karya Andrew S. Glassner. Sekarang buku itu bisa diunduh gratis — tautan

  • Saya punya kumpulan materi gratis tentang pemrograman grafika yang pernah saya buat dulu. Sekarang memang tidak terlalu sering diperbarui, tapi mungkin tetap bermanfaat — tautan gist

  • Dalam sebagian besar karier saya, grafika adalah blind spot. Saya akhirnya bergerak ke data dan sistem terdistribusi, tapi sebenarnya awalnya saya mulai belajar pemrograman karena ingin membuat game.
    Dulu saya pernah membuat simulasi orbit planet dengan OpenGL, atau game tembak-tembakan aneh dengan Flash. Tapi setiap kali mencoba belajar Vulkan, saya menyerah karena kewalahan melihat banyaknya kode. Mungkin karena saya tidak benar-benar memahami konsep dasarnya. Kalau suatu hari punya waktu luang, saya ingin serius mempelajarinya lagi

    • Saya merekomendasikan WebGL atau pilihan yang lebih baik, WebGPU. Jauh lebih mudah dipelajari, dan konsep yang dipelajari bisa diterapkan ke API lain juga — WebGPU Fundamentals, WebGL2 Fundamentals
    • Saya juga merasakan hal yang mirip. Terinspirasi oleh Zbrush dan Maya, saya sempat ingin membuat seni dengan shader, tapi rasanya untuk mereplikasi perangkat lunak raksasa seperti itu, bahkan sebagian saja, kita harus benar-benar berkutat di bidang ini setiap hari. Performa Zbrush benar-benar luar biasa
    • Vulkan bukan untuk pemula. Bahkan kalau dasar-dasarnya sudah paham pun tetap terlalu bertele-tele. Modern OpenGL sudah cukup, dan kalau memang harus memakai Vulkan, lebih baik gunakan library tingkat atas seperti SDL3
    • Menurut saya grafika modern terlalu rumit. Kita tidak boleh mencampuradukkan pemrograman GPU dengan grafika komputer. Untuk pemula, jauh lebih baik mencoba mengimplementasikan rasterizer atau ray tracer berbasis CPU sendiri daripada langsung ke Vulkan.
      Sebagai materi contoh, saya merekomendasikan Tiny Renderer dan Ray Tracing in One Weekend.
      Proses seperti ini membantu kita memahami secara mendalam mengapa GPU dirancang seperti itu. Setelahnya, saya sarankan berkembang ke OpenGL 4.6 atau D3D11, lalu ke situs seperti ShaderToy dan ShaderAcademy.
      Rendering berbasis CPU masih tetap penting karena renderer film memakai CPU demi presisi. Sebagai referensi, WARP dan LLVMpipe adalah software rasterizer yang benar-benar dipakai dalam produksi
    • Vulkan sebenarnya bukan API grafis, melainkan API GPU tingkat rendah. Grafika hanyalah salah satu kemampuan yang bisa dilakukan GPU. Jika ini dipahami, desain Vulkan jadi lebih masuk akal
  • Saya sangat menikmati konten di situs web ini. Saya juga berterima kasih karena tahun lalu mereka menindaklanjuti masukan soal thumbnail AItautan umpan balik HN

    • Meski begitu, masih disayangkan karena gambar dengan penuh salah ketik tetap ada di halaman utama. Untuk situs edukasi, itu kurang enak dilihat
  • Salah satu target saya tahun ini adalah membuat renderer 3D software sendiri dari dasar. Tanpa game engine, tanpa GPU, murni implementasi sendiri

    • Itu pendekatan yang hebat. Saya juga sudah lama mengajarkan dengan cara seperti itu. Kebanyakan orang mengira grafika 3D identik dengan rasterisasi, tapi saya justru merasa beruntung memulainya dari ray tracing
    • Kalau ingin melihat dari sudut pandang lain, saya juga merekomendasikan Computer Graphics from Scratch. Gratis, dan namanya mirip sehingga mudah membingungkan
    • Materi bagus lainnya adalah Tiny Renderer
    • Dalam kumpulan proyek “build-your-own-x” juga ada panduan terkait — tautan GitHub
    • Ada juga video yang menjelaskan grafika 3D hanya dengan satu rumus — YouTube: One Formula That Demystifies 3D Graphics
  • Belakangan ini kita bisa memasukkan tautan situs web atau PDF ke LLM lalu mengubahnya menjadi materi belajar interaktif. Hari ini saya juga mengubah PDF 1000 halaman dengan cara itu untuk belajar game engine. Menyenangkan karena tidak cuma berakhir jadi bookmark

    • Tapi saya jadi penasaran, apakah ada LLM dengan context window yang cukup besar untuk memproses PDF 1000 halaman?
  • Semoga suatu hari dominasi NVIDIA atas API grafis, dominasi Google di web, dan alternatif lemah dari AMD benar-benar berakhir