강의

멘토링

커뮤니티

Game Dev

/

Game Programming

Lập trình DirectX Raytracing

DirectX 12 hỗ trợ Raytracing thời gian thực và có thể triển khai đồ họa chất lượng cao bằng mã nguồn gọn gàng. Tuy nhiên, do rào cản gia nhập cao nên ít lập trình viên trực tiếp tận dụng được nó. Khóa học này dựa trên kinh nghiệm ứng dụng vào game thực tế, giúp các học viên có thể tự phát triển công cụ Raytracing.

(5.0) 5 đánh giá

29 học viên

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

  • megayuchi
DirectX
DirectX
raytracing
raytracing
computer-graphics
computer-graphics
d3d
d3d
DirectX12
DirectX12
DirectX
DirectX
raytracing
raytracing
computer-graphics
computer-graphics
d3d
d3d
DirectX12
DirectX12

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

5.0

5.0

kim_wonjin

100% đã tham gia

Thật lòng mà nói, tôi nghĩ khóa học này không chỉ dành cho những người lập trình với Direct3D 12, mà cả những ai muốn thử lập trình game cũng nhất định nên nghe một lần. Không chỉ dừng lại ở việc render vật thể lên màn hình, tôi đã nhận được những hiểu biết thực tế về cách quản lý tài nguyên, và cách xây dựng cấu trúc khi tự mình làm game. Giống như các khóa học Inflearn khác của Yeong-cheon, khóa học này cũng rất tuyệt vời, và nhờ đó tôi đã tiến thêm một bước đến mục tiêu tự làm game từ đầu của mình. Rất cảm ơn!

Bạn sẽ nhận được điều này sau khi học.

  • Học D3D12-DirectX Raytracing API

  • Phát triển engine riêng

  • Áp dụng Raytracing cho Engine riêng

Tìm hiểu lập trình DirectX Raytracing và áp dụng công nghệ raytracing vào công cụ của riêng bạn.

DirectX 12 hỗ trợ công nghệ dò tia thời gian thực dựa trên GPU. Công nghệ Raytracing cho phép triển khai đồ họa trò chơi chất lượng cao với mã đơn giản và ngắn gọn hơn. Tuy nhiên, do rào cản gia nhập cao của API DirectX12 và xu hướng dựa vào các công cụ thương mại nên rất ít lập trình viên có thể sử dụng trực tiếp công nghệ DirectX Raytracing thực tế. Bài giảng này, tiếp nối bài giảng D3D12 của megayuchi, sẽ giúp sinh viên phát triển công cụ Raytracing của riêng mình dựa trên kinh nghiệm áp dụng DirectX Raytracing vào các trò chơi thực tế.

Tìm hiểu về những điều này

Tổng quan về DirectX Raytracing

Giới thiệu các khái niệm cơ bản về dò tia và giải thích cách triển khai công nghệ này trong DirectX API.

Đối tượng trạng thái đường ống dò tia (RTPSO)

DirectX Raytracing có lẽ là một trong ba chủ đề bị hiểu lầm nhiều nhất trong lập trình. Giải thích Ray Tracing Pipeline State Object là gì, nó chứa những gì và cách tạo cũng như sử dụng nó.

Cấu trúc gia tốc

BVH, một cấu trúc tăng tốc không gian cần thiết cho việc dò tia theo thời gian thực, được triển khai như một đối tượng có tên là Cấu trúc tăng tốc trong DirectX Raytracing. Giải thích cách tạo và sử dụng chúng.

Raytracing Shader

DirectX Raytracing hỗ trợ nhiều loại hàm đổ bóng với khái niệm hàm gọi lại tùy thuộc vào tình huống. Tôi sẽ giải thích cách triển khai các thành phần bên trong của mã shader này và thời điểm sử dụng nó.

Liên kết tài nguyên Shader

Đây là phần khó nhất khi lần đầu học lập trình DirectX Raytracing. Lúc đầu, tôi thực sự thấy khó khăn khi phải tìm cách ánh xạ kết cấu vào từng phần của lưới, cách truyền dữ liệu vật liệu và cách đọc tọa độ kết cấu và vectơ pháp tuyến. Tôi sẽ giải thích phần này từng bước một và đảm bảo bạn hiểu rõ.

Tạo một khuôn khổ động cơ đơn giản và áp dụng Raytracing

Có sự khác biệt đáng kể giữa bản demo dựng hình dạng đơn giản được triển khai bằng mã hóa cứng và mã dùng trong trò chơi. Trong hướng dẫn này, chúng ta sẽ triển khai một khuôn khổ trò chơi đơn giản có thể áp dụng công nghệ dò tia. Đây là một đoạn mã đơn giản, nhưng về lâu dài nó sẽ đóng vai trò là bước đệm cho quá trình phát triển động cơ.

Biến đổi cứng

Giải thích cách phản ánh điều này trong mã Raytracing khi Đối tượng trò chơi trải qua các phép biến đổi vật thể cứng (quay/tỷ lệ/tịnh tiến) mà không làm thay đổi hình dạng của chúng.

Biến đổi không cứng nhắc

Giải thích cách thực hiện các phép biến đổi (như thay đổi giao diện) để thay đổi giao diện của các đối tượng trong trò chơi.

Những điều cần lưu ý trước khi tham gia lớp học

Môi trường thực hành

  • Hệ điều hành và Phiên bản (OS): Windows 10/11

  • Công cụ sử dụng: Visual Studio 2022, pix

  • Phần cứng bắt buộc: GPU hỗ trợ DirectX Raytracing - nvidia GTX1060 trở lên, AMD RX6400 trở lên

Tài liệu học tập

  • pdf được cung cấp

  • Cung cấp mã nguồn qua github và các tệp đính kèm

Kiến thức và ghi chú của người chơi

  • C/C++

  • Lập trình Windows

  • Kiến thức lập trình D3D12 (

    Chúng tôi khuyên bạn nên tham gia các bài giảng sau trước.)

  • Cơ bản về lập trình D3D12 ( https://inf.run/WYdms )

  • Cơ bản về lập trình D3D12 Plus ( https://inf.run/itHDW )


Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Lập trình viên muốn tích hợp công nghệ Raytracing thời gian thực vào công cụ đồ họa tự phát triển

  • Lập trình viên đã học lập trình D3D12 nhưng cảm thấy không có nơi để sử dụng

Cần biết trước khi bắt đầu?

  • D3D12

  • C/C++

  • Lập trình Windows

Xin chào
Đây là

3,104

Học viên

83

Đánh giá

20

Trả lời

5.0

Xếp hạng

10

Các khóa học

Lập trình viên

C++,x86/x64 ASM, DirectX9/11/12, Metal, OpenGL, CUDA, win32, winsock/bsd socket

Lập trình viên C++,x86/x64 ASM, DirectX9/11/12, Metal, OpenGL, CUDA, win32, winsock/bsd socket

Khóa học trên Inflearn

Lập trình D3D12 cơ bản - https://inf.run/7gJhS

Lập trình D3D12 Cơ bản Plus - https://inf.run/itHDW

Lập trình DirectX Raytracing - https://inf.run/cQqx7

Lập trình hệ thống Windows - https://inf.run/AwfCv

Mẹo gỡ lỗi Windows - https://inf.run/zL7E4

 

Blog : https://megayuchi.com

Youtube : https://youtube.com/megayuchi

LinkedIn : https://www.linkedin.com/in/megayuchi/

Chương trình giảng dạy

Tất cả

17 bài giảng ∙ (11giờ 21phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

5 đánh giá

5.0

5 đánh giá

  • kimwonjin5016님의 프로필 이미지
    kimwonjin5016

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Thật lòng mà nói, tôi nghĩ khóa học này không chỉ dành cho những người lập trình với Direct3D 12, mà cả những ai muốn thử lập trình game cũng nhất định nên nghe một lần. Không chỉ dừng lại ở việc render vật thể lên màn hình, tôi đã nhận được những hiểu biết thực tế về cách quản lý tài nguyên, và cách xây dựng cấu trúc khi tự mình làm game. Giống như các khóa học Inflearn khác của Yeong-cheon, khóa học này cũng rất tuyệt vời, và nhờ đó tôi đã tiến thêm một bước đến mục tiêu tự làm game từ đầu của mình. Rất cảm ơn!

    • wjdgmlwh16293432911님의 프로필 이미지
      wjdgmlwh16293432911

      Đánh giá 1

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      • shjang9198님의 프로필 이미지
        shjang9198

        Đánh giá 5

        Đánh giá trung bình 4.6

        5

        65% đã tham gia

        • siyeong33102632님의 프로필 이미지
          siyeong33102632

          Đánh giá 4

          Đánh giá trung bình 5.0

          5

          65% đã tham gia

          • kimsemi87876890님의 프로필 이미지
            kimsemi87876890

            Đánh giá 1

            Đánh giá trung bình 5.0

            5

            35% đã tham gia

            5.143.254 ₫

            Khóa học khác của megayuchi

            Hãy khám phá các khóa học khác của giảng viên!