- 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
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
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
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
Saya sangat menikmati konten di situs web ini. Saya juga berterima kasih karena tahun lalu mereka menindaklanjuti masukan soal thumbnail AI — tautan umpan balik HN
Salah satu target saya tahun ini adalah membuat renderer 3D software sendiri dari dasar. Tanpa game engine, tanpa GPU, murni implementasi sendiri
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
Semoga suatu hari dominasi NVIDIA atas API grafis, dominasi Google di web, dan alternatif lemah dari AMD benar-benar berakhir