[Zing] Nguyễn Hà Đông version 2

Thảo luận trong 'Thư Giãn Express - Bản Tin Cuối Ngày' bắt đầu bởi trumlinux, 10/3/16.

  1. Hoàn Gia Sắc

    Hoàn Gia Sắc Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    14/9/09
    Bài viết:
    4,497
    Ờ. Nó mô phỏng không gian 3D bằng vector, dựng khung model bằng polygon, rồi đắp màu, texture vào
    Sau khi dựng xong, từ 1 điểm camera chụp viewpoint ảnh 2 chiều vào bộ nhớ, rồi xuất ra màn hình liên tục từng frame
    Các card đồ hoạ mới bây giờ hầu như bỏ luôn 2D truyền thống, dùng 3D giả lập 2D với z = 0

    Nhưng đó là chức năng cơ bản trên lý thuyết. GPU bây giờ nhồi nhét thêm nhiều chức năng xử lý để giảm tải CPU như encode, decode phim, tính toán vật lý cho game luôn. Dòng GPU của AMD tính toán được dấu chấm động nên bị bọn bitcoin mua về cày thuật toán đào bitcoin, chả liên quan gì tới đồ họa cả
     
    Chỉnh sửa cuối: 12/3/16
  2. Overmind

    Overmind Youtube Master Race Lão Làng GVN

    Tham gia ngày:
    11/8/10
    Bài viết:
    80
    Cho xin tên cty để sau này nhảy việc còn né cái ^:)^
     
    kaizvn thích bài này.
  3. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    tiện thể hỏi luôn, cái vụ răng cưa của ảnh 3D là phát sinh trong quá trình chiếu đúng ko, kiểu như tọa độ pixel là giá trị số nguyên, còn phép toán chiếu thì nó cho số thực, nên nó tạo ra hiệu ứng răng cưa.
     
  4. Hoàn Gia Sắc

    Hoàn Gia Sắc Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    14/9/09
    Bài viết:
    4,497
    Răng cưa là do số lượng Polygon cho model thấp, lúc chụp hình dĩ nhiên sẽ thấy tam giác tua tủa ra, nhìn như răng cưa

    Như hình tròn trong thực tế là hình đa giác có số góc vô hạn, nên đa giác càng nhiều cạnh càng gần với hình tròn (trơn nhẵn). Đa giác càng ít cạnh thì hình tròn sẽ bị sần sùi. Trong 3D tất cả đường thẳng đường cong gì cũng được giả lập bằng đa giác hết

    Tỉ lệ này dĩ nhiên phụ thuộc vào độ phân giải. Màn hình càng lớn, độ phân giải càng cao thì lúc chụp ra càng dễ thấy răng cưa. Mà model texture chất lượng càng cao thì tốn nhiều polygon hơn, kéo theo VRAM của card màn hình phải lớn

    Nên lúc xuất ra phải thêm một bước xử lý khử răng cưa bằng thuật toán, cà cho nhẵn phần thừa đi

    [​IMG]
     
    Chỉnh sửa cuối: 12/3/16
  5. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    vậy lúc vẽ đường thẳng mà nó cũng răng cưa là do đường thẳng nó cũng xài đa giác à? cái hình minh họa của mi nó cũng có răng cưa kìa.
     
  6. Hoàn Gia Sắc

    Hoàn Gia Sắc Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    14/9/09
    Bài viết:
    4,497
    Màu của đường thẳng là texture đắp vào mà. Nên có thể texture độ phân giải thấp
    Hay như đường thẳng trên bức tường này, nhìn vào tưởng là đường thẳng nhưng là nhiều đa giác nhỏ
    [​IMG]

    Còn về cái ảnh trên là định dạng JPG, là tập hợp mặt phẳng pixel (điểm ảnh) nên zoom ra độ phân giải lớn bị răng cưa là bình thường. Ảnh định dạng PNG, SVG dùng vector để vẽ nên sẽ không có răng cưa. Cái này là về định dạng file ảnh. PNG có hỗ trợ màu alpha (RGBA) nên có thể trong suốt được. JPG chỉ hỗ trợ RGB thôi

    [​IMG]

    Nên mới chia ra hai phần mềm Photoshop (dùng Pixel) để chỉnh sửa ảnh chụp và AI để thiết kế logo (dùng Vector)

    Game lúc render ra màn hình cũng thành ảnh pixel, nên nếu chỉnh độ phân giải thấp trên màn hình độ phân giải cao thì sẽ bị răng cưa do pixel zoom lớn ra
     
    Chỉnh sửa cuối: 12/3/16
  7. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    mi để ý đi, ngay cả khi xài word, lúc vẽ đường thẳng (trừ đường nằm ngang, dọc và nghiên 45 độ) thì đều hiện răng cưa rất mảnh chứ ko phải do texture phân giai thấp.
    vầy nè:
    [​IMG]
     
  8. Hoàn Gia Sắc

    Hoàn Gia Sắc Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    14/9/09
    Bài viết:
    4,497
    Đường thẳng của Word dùng pixel mà. Đó là một đường từng chấm nhỏ hình vuông liền nhau nên sẽ bị răng cưa
    Mi thử sắp các hình vuông theo đường chéo thì cũng sẽ răng cưa như vậy thôi

    Nhưng đó là lúc vẽ, Word nó chưa tính toán khử răng cưa. Sau khi vẽ xong mới khử được. Vì mi kéo đi kéo lại cái đường thẳng đó liên tục, phải xử lý nhiều vừa nặng máy vừa dễ bị crash. Cái này do thằng dev nó muốn để vậy thôi. Word xài cho văn phòng, đâu phải máy nào cũng mạnh đồ họa, nên chủ yếu dùng CPU, hạn chế dùng GPU để xử lý mấy cái hiệu ứng này :))
     
  9. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    khoa, quay lại bài trên tý:
    cái ảnh này:
    [​IMG]

    ai nói nó là nhiều đa giác :-?
     
  10. Hoàn Gia Sắc

    Hoàn Gia Sắc Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    14/9/09
    Bài viết:
    4,497
    Đắp texture vào rồi thì sao mà thấy được
    Cái này là căn bản đồ hoạ 3D, kiếm mấy sách đồ hoạ căn bản DirectX, OpenGL đọc cũng được. Ta cũng biết sơ sơ thôi, không phải chuyên làm game :))
    [​IMG]
    Như hình vuông, chữ nhật, bề mặt hình hộp thực chất là 2 tam giác vuông chồng lên nhau
    [​IMG]
     
  11. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    vậy là mi giải thích sai lý do rồi, cái tạo ra đa giác là thằng họa sĩ chứ không phải cái chip đồ họa, và nếu cái hiện tượng biến dạng đường nét gây ra bởi đa giác thì biến dạng phải là đường gấp khúc chứ không phải răng cưa.
    tên nào chuyên về làm game giải đáp hộ ta, cái này là cơ sở của dựng ảnh 3D đấy.
     
  12. ren_momo2

    ren_momo2 Chrono Trigger/Cross Lão Làng GVN

    Tham gia ngày:
    16/6/09
    Bài viết:
    6,691
    Đường tròn, chéo khi lên màn hình tất nhiên là có răng cưa rồi. Hình analog kiểu gì lên digital chả có răng cưa, mi hỏi kì vậy :))
     
  13. Sis

    Sis Đê tiện nhất xóm

    Tham gia ngày:
    18/5/04
    Bài viết:
    6,248
    Nơi ở:
    hell & heaven
    Đuỵt!! Đề nghị các cháu nói tiếng Việt :((
     
  14. Hoàn Gia Sắc

    Hoàn Gia Sắc Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    14/9/09
    Bài viết:
    4,497
    À, cái đó là công đoạn sau khi chụp cái view 3D ra ảnh pixel 2D RGB. Vì pixel là hình vuông không có kênh màu Alpha nên phần pixel chiều sâu (alpha) sẽ biến thành màu đen, nên khi lên hình thì đường chéo, đường tròn sẽ bị thừa các góc hình vuông của pixel

    Nên phải dùng thuật toán để làm mịn (làm mở) pixel thừa ở bề mặt đi, gọi là khử răng cưa.
    [​IMG]
    [​IMG]

    Card đồ họa chơi game cần nhanh, không cần chính xác nên chỉ tính toán bằng số nguyên, dùng màu 8bit, không có kênh Alpha. Card Workstation dùng màu 10 bit, xử lý dấu chấm động nên thường chậm hơn card chơi game, nhưng chính xác hơn (và mắc hơn card chơi game gấp mấy lần)
     
    Chỉnh sửa cuối: 12/3/16
  15. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    vậy thì tóm lại lỗi xuất phát từ quá trình chiếu ảnh 3D lên mặt phẳng đúng ko?
    vậy nó sẽ có 2 TH:
    - đối với hình 2D thì nó bị răng cưa khi chuyển từ giá trị thực -> giá trị nguyên (aka analog -> digital như con hàng trên kia nói)
    - với ảnh 3D thì nó sẽ phân giá trị toạ độ liên tục thành các giá trị rời rạc để chiếu và do đó gây ra răng cưa. (do đó răng cưa ảnh 3D bự hơn răng cưa ảnh 2D)
     
  16. ren_momo2

    ren_momo2 Chrono Trigger/Cross Lão Làng GVN

    Tham gia ngày:
    16/6/09
    Bài viết:
    6,691
    Bự hay không bự là do độ phân giải và kích cỡ màn hì chứ liên quan gì 2d 3d :))
     
  17. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    vậy thì rốt cuộc là do phép chiếu đúng ko.
     
  18. Hoàn Gia Sắc

    Hoàn Gia Sắc Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    14/9/09
    Bài viết:
    4,497
    2D thì ảnh spite object độ phân giải thấp, chơi trên màn hình lớn, độ phân giải cao thì game phải scale cho vừa màn hình. Nên ảnh ở độ phân giải 480p chiếu trên màn 720p sẽ bị răng cưa. Game 3D thì tùy theo nó hỗ trợ độ phân giải nào. Game cũ hỗ trợ tối đa 480p thì lên màn hình 1080p cũng răng cưa đầy, vì scale không đúng độ phân giải

    Nhưng đó là nguyên nhân chung thôi. Về độ họa 3D còn nhiều vấn đề phức tạp hơn, không phải chỉ răng cưa bề mặt thôi. Vì 3D có nhiều lớp, chuyển về ảnh 2D phải qua nhiều công đoạn, nên sẽ có thất thoát dữ liệu

    Mà game 2D bây giờ đa số đều phát triển theo hướng 2.5D, tức dùng model 3D chuyển động trên background 2D, hoặc phát triển hoàn toàn bằng 3D, chỉ set cứng camera đối diện với background để giả 2D
     
  19. asm65816

    asm65816 Mega Man

    Tham gia ngày:
    23/5/09
    Bài viết:
    3,320
    Nơi ở:
    El Sallia
    Test thử thâý chạy tốt, nhưng phím mặc định khó khiển vãi chưởng.

     
    caizi.com thích bài này.
  20. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    tóm tắt thì là như vầy:
    [​IMG]



    [​IMG]
    phải không?


    còn vụ nhiều lớp là sao? toạ độ nó lưu trong bộ nhớ đâu có chia lớp?
     

Chia sẻ trang này