Trang chủ | Email | W2G.,JSC | Liên hệ-Góp ý | SearchWiki:

W2G.,JSC

Quảng cáo

Project

Simulationvn

Tài liệu lập trình

3D Graphics - Đồ họa 3D

Xử lý ảnh

Sách điện tử

sửa SideBar

KnowledgeBase.DirectX History

Hide minor edits - Show changes to markup

September 16, 2005, at 12:31 AM by 220.231.124.220 -
Changed lines 2-3 from:

''Để mô phỏng thế giới thực vào trong mày tính, cần mô hình hóa thành các đối tượng có thể lưu trữ trong máy tính, xử lý bởi máy tính, và hiển thị ra màn hình bởi máy tính. Có 2 công nghệ là DirectX thư viện đồ hoạ 3D được phát triển bởi Microsoft và Open GL được phát triển bởi hãng SGI. ''

to:

Để mô phỏng thế giới thực vào trong mày tính, cần mô hình hóa thành các đối tượng có thể lưu trữ trong máy tính, xử lý bởi máy tính, và hiển thị ra màn hình bởi máy tính. Có 2 công nghệ là DirectX thư viện đồ hoạ 3D được phát triển bởi Microsoft và Open GL được phát triển bởi hãng SGI.

September 16, 2005, at 12:31 AM by 220.231.124.220 -
Changed lines 2-3 from:

Để mô phỏng thế giới thực vào trong mày tính, cần mô hình hóa thành các đối tượng có thể lưu trữ trong máy tính, xử lý bởi máy tính, và hiển thị ra màn hình bởi máy tính. Có 2 công nghệ là DirectX thư viện đồ hoạ 3D được phát triển bởi Microsoft và Open GL được phát triển bởi hãng SGI.

to:

''Để mô phỏng thế giới thực vào trong mày tính, cần mô hình hóa thành các đối tượng có thể lưu trữ trong máy tính, xử lý bởi máy tính, và hiển thị ra màn hình bởi máy tính. Có 2 công nghệ là DirectX thư viện đồ hoạ 3D được phát triển bởi Microsoft và Open GL được phát triển bởi hãng SGI. ''

September 16, 2005, at 12:30 AM by 220.231.124.220 -
Deleted lines 3-6:

Direct X là một tập hợp các giao diện lập trình ứng dụng cấp thấp (API) để tạo các trò chơi và các ứng dụng multimedia đòi hỏi chất lượng hiển thị cao. Nó cũng hỗ trợ cả đồ họa 2D và 3d, ngoài ra còn có sound,music,input…

Sau đây tôi xin trình bày cách sử dụng Directx Graphic một cách đơn giản nhất tuy nhiên cũng rất hiệu quả, nếu bạn biết sử dụng uyển chuyển. Tôi sử dụng ngôn ngữ VC++ và directx8 trở lên !

Added line 5:
September 16, 2005, at 12:25 AM by 220.231.124.220 -
Changed lines 14-15 from:

Kiến trúc chung của Direct X

to:

Kiến trúc chung của Direct X

Changed lines 21-22 from:

Hình 1- Kiến trúc của Direct X

to:

Hình 1- Kiến trúc của Direct X

Added lines 28-30:

Hình 2 – Các thành phần của lớp Foundation

Added lines 61-64:

Hình 3 - Kiến trúc Direct 3 D?

Added line 68:
Added lines 70-73:

Hình 4 - Lớp Media Component

September 16, 2005, at 12:17 AM by 220.231.124.220 -
Changed lines 8-74 from:

Nền tảng Direct X được tạo thành từ các thành phần sau :

Direct3D: cung cấp một giao diện chế độ giữ chậm (Retained Mode) cấp cao mà các ứng dụng có thể dễ dàng thực thi một hệ thống đồ hoạ 3D hoàn chỉnh, và một giao diện chế độ tức thời (Immediate Mode) cấp thấp mà nó cho phép các ứng dụng Direct3D bao gồm một thư viện tiện ích Direct3DX, nó là một lớp các trợ giúp làm đơn giản hoá các tác vụ chung gặp phải trong phát triển đồ hoạ 3D.

DirectDraw: làm nhanh phần cứng và phần mềm kỹ xảo hoạt hình nhờ việc cung cấp sự truy cập trực tiếp đến các bitmap trong bộ nhớ màn hình off-screen, nhanh đến độ bằng việc truy nhập đến blitting và các khả năng lật vùng đệm của phần cứng.

DirectInput: cung cấp sự hỗ trợ cho tất cả các loại thiết bị đầu vào và thiết bị nhận sự phản hồi.

DirectMusic: làm việc với các thông điệp - căn cứ dữ liệu và cung cấp một hệ thống hoàn chỉnh cho việc chơi nhạc và DLS – nền tảng các hiệu ứng âm thanh với thành phần và biến tấu ở chế độ thời gian thực.

DirectPlay: làm nên sự nối kết trò chơi trên modem liên kết và mạng một cách dễ dàng.

DirectSound: làm cho có thể phát lại các sóng âm thanh và bao gồm sự hỗ trợ cho phần cứng và phần mềm trộn, vị trí 3-D và bắt giữ âm thanh.

Direct3D

Direct3D được thiết kế cho các trò chơi hạng cao (ngoại hạng) và các tương tác đồ hoạ 3-D trên máy tính chạy hệ điều hành Windows. Nó cung cấp thiết bị phụ thuộc truy nhập đến phần cứng hiển thị video trong các thiết bị độc lập lớn hơn. Direct3D là một giao diện vẽ cho phần cứng 3-D.

Direct3D có hai chế độ : Immediate Mode và Retained Mode. Retained Mode là API 3-D mức cao cho các lập trình viên mà đòi hỏi tăng tốc độ hoặc những người muốn sự trợ giúp của Retained Mode để xây dựng trong hỗ trợ cho phân cấp và hoạt hình.

Direct3D Immediate Mode là API 3-D lớp thấp, nó là mô hình lý tưởng cho các nhà phát triển mà cần các cổng game và các ứng dụng multimedia thi hành mức cao khác trên hệ điều hành Windows. Immediate Mode? là một thiết bị – cách độc lập cho các ứng dụng giao tiếp với các phần cứng tải nhanh ở mức thấp. Direct3D Retained Mode được xây dựng trên nền tảng của Direct3D Immedate Mode.

Dưới đây là các đặc trưng cao của Direct3D :

  • Có thể chuyển đổi chiều sâu vùng đệm (sử dụng z-buffers hoặc w-buffers)
  • Bóng Flat hay Gouraud
  • Nhiều nguồn và kiểu ánh sáng.
  • Đầy đủ sự hỗ trợ vật chất (material) và kết cấu (texture), bao gồm mapmapping.
  • Các trình phần mềm mô phỏng mạnh.
  • Sự chuyển đổi và clipping.
  • Độc lập với phần cứng.
  • Đầy đủ hỗ trợ trên các hệ điều hành Windows 95, Windows 98 và Windows 2000.
  • Hỗ trợ cho kiến trúc của Intel MMX.

Kiến trúc của Direct3D Immediate Mode

Các ứng dụng Direct3D giao tiếp với phần cứng đồ hoạ trong một kiểu cách tương tự khi chúng dùng một trong hai chế độ Retained hoặc Immediate. Chúng có thể có hoặc không có những thuận lợi của phần mềm mô phỏng trước khi tương tác với tầng mô phỏng phần cứng (Hardware Emulation Layer – HAL). Từ khi Direct3D là một giao diện cho đối tượng tượng DirectDraw, tầng mô phỏng phần cứng HAL được xem như là DirectDraw/ Direct3D HAL.

Direct3D được tích hợp chặt chẽ với thành phần DirectDraw của Direct X. Các bề mặt DirectDraw được sử dụng như các đích trình diễn (mặt trước và mặt sau) và như vùng đệm z.

Các kiểu đối tượng Immediate Mode.

Direct3D Immediate Mode được làm nên từ một chuỗi các đối tượng. Khi lập trình với C++, chúng ta làm việc trực tiếp với các đối tượng này để chế tác thế giới ảo của ta và xây dựng ứng dụng Direct3D.

  • Đối tượng DirectDraw
  • Đối tượng DirectDrawSurface
  • Đối tượng Direct3DDevice
  • Đối tượng Direct3DVertex Buffer?

Các giao diện COM của Immediate Mode

  • IDirect3D7 : giao diện gốc, dùng để nhận được các giao diện khác.
  • IDirect3DDevice7 : thiết bị 3-D cho Draw Primitive? – nền tảng lập trình.
  • IDirect3DVertex Buffer 7? : giao diện dùng để làm việc với các vùng đệm điểm.

Đặc trưng của Direct3D Immediate Mode

Direct3D Immediate Mode bao gồm một số lượng nhỏ thành phần API liên quan để tạo các đối tượng, tô chúng với dữ liệu, và liên kết cùng chúng. API được dựa trên nền tảng COM. Các API Immediate Mode là lớp rất nhỏ so với các driver Direct3D. Nó bao gồm các thành phần sau :

  • Các thay đổi đối với DirectX 7.0 .
  • Sự biến đổi và ánh sáng được làm nhanh ở phần cứng.
  • Môi trường ánh xạ với các môi trường mặt bậc ba.
  • Các thay đổi API.
  • Blending hình học.
  • Các khối trạng thái thiết bị.
  • Cải tiến sự quản lý kết cấu texture.
  • Tăng cường phần mềm mô phỏng.
to:

Giới thiệu chung

Direct là một tập hợp các API ( Application Programming Interface: Giao diện lập trình ứng dụng ) và các công cụ lập trình giúp cho những người phát triển ứng dụng trên Windows 95 và Windows NT có thể truy cập trực tiếp đến phần cứng mà không phải quan tâm đến cấu hình phần cứng cảu từng máy. Nói một cách khác, lập trình viên có thể truy cập đến các phần cứng (Phần cứng hỗ trợ đồ họa) một cách tổng quát mà không bị giới hạn bởi số lượng ít ỏi các chuẩn, có nghĩa là chúng ta có thể sử dụng các chức năng tiên tiến của Card Video như chức năng 3-D chẳng hạn, mà không phải quan tâm lập trình riêng cho từng loại card. Về mặt công dụng thì Direct X đóng vai trò cuả người trung gian giữa chương trình và các driver phần cứng ( driver là một chương trình nhỏ cho phép hệ điều hành giao tiếp với phần cứng ), biên dịch các lệnh tổng quát thành lệnh đặc trưng cho mỗi phần cứng.

Mục đích ban đầu của Direct X là nhằm giúp cho Windows 95 trở thành một hệ điều hành hiệu quả cho các trò chơi. Tuy nhiên thủa ban đầu , Windows 95 quá chậm và không thích hợp cho các trò chơi, lý do chính là sự ngăn cấm việc truy cập vào phần cứng. Vì lý do này mà các nhà sản xuất phần mềm đã từ bỏ nền tảng Windows để chọn cách tiếp cận đi vòng là sử dụng DOS. Direct X ra đời là nhằm làm thay đổi quan niệm đócủa các nhà sản xuất phần mềm.từ khi kỹ thuật Multimedia phát và tham gia vào mọi nơi, Direct X không còn là một công nghệ chỉ phục vụ cho trò chơi mà nó đã phát triển và trở thành yêu cầu thiết yếu cho rất nhiều ứng dụng khác nhau, Direct X sẽ hào nhập hoàn toàn vào các ứng dụng chính thống cùng với sự ra đời của Windows 98 và Windows NT 5.0. Nó sẽ là một phần tích hợp bên trong của cả hai hệ điều hành đó, cùng làm việc với WDM ( Win 32 Driver Model) để hỗ trợ nhanh hơn và hoàn chỉnh hơn cho phần cứng. Một chuẩn đồ họa khác cũng được thiết kế bên trong hệ điều hành bên Windows để hỗ trợ kỹ thuật đồ họa 3 –D ; Chuẩn Open GL. Open GL, phát triển bởi Silicon Graphics, cung cấp một công cụ hỗ trợ lập trình đồ họa 3 chiều và được sử dụng nhiều trong các ứng dụng hiện thực ảo hơn là trong trò chơi. Thực tế thì Direct X hoạt động trong Windows 98 và Windows NT 5.0 ở một lớp thấp hơn chuẩn Open GL.

Kiến trúc chung của Direct X

Kiến trúc chung của Direct X gồm ba lớp như sau:

  • Lớp Foundation
  • Lớp Media
  • Lớp Component

Hình 1- Kiến trúc của Direct X

Lớp Foundation

Kiến trúc của Direct X được xây dựng trên nền tảng của các thành phần thuộc lớp Foundation gồm: Direct Draw?, Direct Sound?, Direct Input?Direct 3 D? Immediate Mode. Lớp Foundation này dựa trên hai gaio tiếp với phần cứng , Hardware Abstraction Layer (HAL: lớp trừu tượng hóa phần cứng) đóng vai trò trung gian giữa phần mềm và thiết bị phần cứng , cho phép các nhà lập trình truy cập đến các thiếit bị đó mà không buộc họ phải biết nhãn hiệu , model và các chi tiết khác của thiết bị. Hardware Emulation Layer ( HEL: lớp giả lập phần cứng ) là nơi giả lập các chức năng nếu phần cứng không hỗ trợ những chức năng đó.

Chức năng thường được giả lập nhất là các chức năng 3-D, cái mà nhiều bộ tăng tốc đồ họa không hỗ trợ nhưng lại trở nên rất phổ biến trong các ứng dụng 3-D.

DIRECTDRAW

Direct Draw? không phải là API đồ họa mức độ cao cung cấp các hàm cơ bản như vẽ đường thẳng và đường cong, mà là một API ở một mức độ thấp quản lý đồ họa mức bề mặt(Surface), cung cấp cơ sở cho các API đồ họa 2D cad 3D ở các mức độ cao hơn. Direct Draw? cung cấp cho các lập trình viên khả năng truy cập tới phần cứng trực tiếp hơn là thông qua hệ thống VDD (Virtual Device Drive) của Windows 95. Kết qủa là tăng cường được tốc độ đồ họa.Direct Draw? làm việc kết hợp với HAL và HEL. Nó cho các lập trình viên một giao tiếp (interface) chung với các thiết bị phần cứng, thông qua HAL. Nếu phần cứng không tương thích với chức năng yêu cầu bởi chương trình , HEL sẽ cố gắng giả lập chức năng đó sao cho giống nhất.

Trong phần lớn các trường hợp, Direct Draw? chỉ đóng vai trò một trình quản lý bộ nhớ Video,. Nó cung cấp khả năng truy cập tới bộ nhớ Video thông qua việc sử dụng bốn đối tượng: Đối tượng Direct Draw?, Direct Draw? Surface, Direct Draw? Trong phần lớn các trường hợp, Direct Draw? chỉ đóng vai trò một trình quản lý bộ nhớ Video. Nó cung cấp khả năng truy cập tới bộ nhớ video thông qua việc sử dụng bốn đối tượng: đối tượng Direct Draw?, Direct Draw Surface?, Direct Draw Plalette? và đối tượng Direct Draw Clipper?, Direct Draw? là đối tượng chính và đại diện cho thiết bị phần cứng. Bạn có thể đặt các xác lập cho nó để chạy chương trình ở chế độ cửa sổ hay toàn màn hình. Đối tượng Direct Draw Surface? cho phép làm việc với các dạng bề mặt được lưu trong bộ nhớ. Bề mặt (Surface) được chia tahnhf bề mặt chính (primary surface): ở trên màn hình hiện thời, bộ đệm (buffer): chuẩn bị đưa ra màn hình và bề mặt ngoài màn hình (off screen surface): đang đợi được đưa vào bộ đệm. Công việc thực hiện là di chuyển hình ảnh từ bề mặt ngoài màn hình vào bộ đệm, rồi từ bộ đệm vào bề mặt chính. Đối tượng Direct Draw Pllalette? cho phép đặt các bản mầu khác nhau oặc chia sẻ bảng mầu giữa các bề mặt. Direct Draw Clipper? cung cấp một phương tiện bỏ qua GDI (Graphics Device Interface) cho các ứng dụng được thiết kế để chạy ở chế độ cửa sổ màn hình, nhằm giảm sự chậm trễ trong đồ hoạ.

Direct Sound?

Direct Sound? cung cấp giao tiếp với thiết bị âm thanh bằng cách cung cấp các hàm xử lý âm thanh dạng sóng (File.WAV). Nó cũng hỗ trợ âm thanh dạng PCM (Pulse-code modulation). Phần chính của Direct Sound? là một bộ trộn âm thanh. Các ứng dụng đặt một loạt âm thanh ở trong một bộ đệm gọi là bộ đệm phụ (secondary buffer), Direct Sound? kết hợp các âm thanh đó và ghi chúng vào bộ đệm chính (primary buffer), ơi chứa âm thanh để phát thật sự. Direct Sound? tự động tạo ra bộ đệm chính, thường được lưu trong bộ nhớ hệ thống hoặc bộ nhớ của các ứng dụng tạo nên bộ đệm phụ trong bộ nhớ hệ thống hoặc bộ nhớ của Card Sound?. Tuỳ thuộc vào loại card âm thanh, các bộ đệm của Direct Sound? có thể xuất hiện trong RAM của hệ thống, trong bộ nhớ của nhạc cụ (wave-table), ở kênh DMA (Direct Memory Access) hoặc ở một bộ đệm ảo (đối với card âm thanh dựa trên cổng I/O). Khi không có đủ chỗ trong phần cứng cho bộ đệm của Direct Sound?, nó sẽ được giả lập trong bộ nhớ hệ thống. Bộ đệm âm thanh phụ có thể là tĩnh (chứa toàn bộ âm thanh, thường dùng cho các File nhỏ để đạt được tốc độ cao) hoặc là bộ đệm luồng (striming - dùng cho các file âm thanh dài). Số lượng bộ đệm phụ không phụ thuộc vào giới hạn nào mà chỉ phụ thuộc vào khả năng của CPU. Các chương trình có thể tạo các đối tượng Direct Sound? sử dụng chung một thiết bị phần cứng. Khi quyền điều khiển chuyển từ ứng dụng này sang ứng dụng khác, dòng âm thanh xuất hiện sẽ tự động chuyển từ dòng này sang dòng khác, các ứng dụng không cần phải bật và tắt âm thanh.

Direct Input?

Direct Input? cung cấp giao tiếp đến các thiết bị nhập và xuất dữ liệu như: game pad, graphics table, điều khiển bay, mũ thực tại ảo… Đồng thời Direct Input? cũng hỗ trợ cho các tính năng mới như thiết bị kết nối qua USB và các thiết bị có tính năng tác đôngj ngược. Direct Input? gồm các đối tượng: Direct Input?, Direct Input? Devices, Object Instance, Effect. Đối tượng Direct Input? là đối tượng chung mà các ứng dụng dùng để khởi tạo (Initialize) và đặt cấu hình cho các thiết bị nhập dữ liệu.

Mỗi đối tượng Direct Input? Device đại diện cho một thiết bị nhập dữ liệưnh chuột, bàn phím hoặc Joystick. Hai đối tượng Direct Input? Device hoặc hơn có thể dùng để biểu diễn cho một thiết bị phức hợp. Các đối tượng Effect đại diện cho các hiệu quả tác động ngược khác nhau.

Direct 3 D?

Direct 3 D? được thiết kế với mục đích là cung cấp sự truy cập độc lập thiết bị tới các phần cứng đồ hoạ 3D, có thể hiểu Direct 3 D? là một giao thức cho việc vẽ trên phần cứng 3D.

Có thể sử dụng Direct 3 D? ở hai chế độ: Immediate Mode và Retained Mode Direct 3 D? Immediate Mode là một API 3D ở mức độ thấp để liên hệ với thiết bị tăng tốc đồ họa. Immediate Mode là lý tưởng cho những nhà phát triển muốn lập chương trình với chất lượng cao trong Windows, Retained Mode là một API 3D ở mức cao dành cho các nhà lập trình cần viết nhanh hoặc muốn sử dụng tính năng hỗ trợ về hoạt hình, Retained Mode được thiết kế ngay trên nền của Immediate Mode.

Thế giới trong Immediate Mode được xây dựng dựa trên các đỉnh nhọn, các đa giác và các lệnh để điều khiển chúng. Nó cho phép truy cập ngay lập tức đến các hiệu quả 3D và cung cấp giả lập cho các chức năng không được hỗ trợ bởi phần cứng.

Lớp Media và Components

Bên trên lớp Foundation của Direct X là lớp Media. Thông qua lớp Media, các nhà phát triển có thể tích hợp các thành phần của lớp Foundation để cung cấp multimedia chất lượng cao. Việc tích hợp đó còn xảy ra ở lớp cao hơn nữa là lớp Component, lớp của các thành phần được xây dựng trên lớp Foundation và Media. Lớp Media gồm có Direct Show?, Direct Model?, Direct Animation?, Direct Play?, Direct 3 D? Retained Mode và VRLM. Direct Show? cung cấp các phương tiện cho việc phát các dòng Audio và Video dưới nhiều dạng thức thông qua quá trình tương tác với lớp Foundation. Direct Model? cung cấp một phương tiện để làm mịn và tương tác với những đối tượng đồ họa 3 chiều phức tạp, những đối tượng không thể cho vừa vào bộ nhớ vật lý hoặc ngay cả bộ nhớ ảo của Windowws. Direct Animation? cho phép người lập trình kết hợp âm thanh, phim hình ảnh và văn bản rồi gắn chúng với trình tự thời gian hoặc các sự kiện đã được người sử dụng định nghĩa trước để tạo ra những hoạt hình kết hợp nhiều phương diện. VRML (Virsual Reality Modeling Language) được sử dụng với Direct X nhằm bổ sung thế giới ảo 3 – D vào trong các trình duyệt Web, tăng tốc quá trình vẽ các thế giới đó một cách đáng kể.

September 08, 2005, at 12:41 AM by 220.231.124.228 -
Changed lines 45-46 from:
to:
September 08, 2005, at 12:40 AM by 220.231.124.228 -
Changed lines 45-46 from:
to:
September 08, 2005, at 12:40 AM by 220.231.124.228 -
Added lines 45-46:
September 08, 2005, at 12:36 AM by 220.231.124.228 -
Added lines 1-72:

Để mô phỏng thế giới thực vào trong mày tính, cần mô hình hóa thành các đối tượng có thể lưu trữ trong máy tính, xử lý bởi máy tính, và hiển thị ra màn hình bởi máy tính. Có 2 công nghệ là DirectX thư viện đồ hoạ 3D được phát triển bởi Microsoft và Open GL được phát triển bởi hãng SGI.

Direct X là một tập hợp các giao diện lập trình ứng dụng cấp thấp (API) để tạo các trò chơi và các ứng dụng multimedia đòi hỏi chất lượng hiển thị cao. Nó cũng hỗ trợ cả đồ họa 2D và 3d, ngoài ra còn có sound,music,input…

Sau đây tôi xin trình bày cách sử dụng Directx Graphic một cách đơn giản nhất tuy nhiên cũng rất hiệu quả, nếu bạn biết sử dụng uyển chuyển. Tôi sử dụng ngôn ngữ VC++ và directx8 trở lên !

Nền tảng Direct X được tạo thành từ các thành phần sau :

Direct3D: cung cấp một giao diện chế độ giữ chậm (Retained Mode) cấp cao mà các ứng dụng có thể dễ dàng thực thi một hệ thống đồ hoạ 3D hoàn chỉnh, và một giao diện chế độ tức thời (Immediate Mode) cấp thấp mà nó cho phép các ứng dụng Direct3D bao gồm một thư viện tiện ích Direct3DX, nó là một lớp các trợ giúp làm đơn giản hoá các tác vụ chung gặp phải trong phát triển đồ hoạ 3D.

DirectDraw: làm nhanh phần cứng và phần mềm kỹ xảo hoạt hình nhờ việc cung cấp sự truy cập trực tiếp đến các bitmap trong bộ nhớ màn hình off-screen, nhanh đến độ bằng việc truy nhập đến blitting và các khả năng lật vùng đệm của phần cứng.

DirectInput: cung cấp sự hỗ trợ cho tất cả các loại thiết bị đầu vào và thiết bị nhận sự phản hồi.

DirectMusic: làm việc với các thông điệp - căn cứ dữ liệu và cung cấp một hệ thống hoàn chỉnh cho việc chơi nhạc và DLS – nền tảng các hiệu ứng âm thanh với thành phần và biến tấu ở chế độ thời gian thực.

DirectPlay: làm nên sự nối kết trò chơi trên modem liên kết và mạng một cách dễ dàng.

DirectSound: làm cho có thể phát lại các sóng âm thanh và bao gồm sự hỗ trợ cho phần cứng và phần mềm trộn, vị trí 3-D và bắt giữ âm thanh.

Direct3D

Direct3D được thiết kế cho các trò chơi hạng cao (ngoại hạng) và các tương tác đồ hoạ 3-D trên máy tính chạy hệ điều hành Windows. Nó cung cấp thiết bị phụ thuộc truy nhập đến phần cứng hiển thị video trong các thiết bị độc lập lớn hơn. Direct3D là một giao diện vẽ cho phần cứng 3-D.

Direct3D có hai chế độ : Immediate Mode và Retained Mode. Retained Mode là API 3-D mức cao cho các lập trình viên mà đòi hỏi tăng tốc độ hoặc những người muốn sự trợ giúp của Retained Mode để xây dựng trong hỗ trợ cho phân cấp và hoạt hình.

Direct3D Immediate Mode là API 3-D lớp thấp, nó là mô hình lý tưởng cho các nhà phát triển mà cần các cổng game và các ứng dụng multimedia thi hành mức cao khác trên hệ điều hành Windows. Immediate Mode? là một thiết bị – cách độc lập cho các ứng dụng giao tiếp với các phần cứng tải nhanh ở mức thấp. Direct3D Retained Mode được xây dựng trên nền tảng của Direct3D Immedate Mode.

Dưới đây là các đặc trưng cao của Direct3D :

  • Có thể chuyển đổi chiều sâu vùng đệm (sử dụng z-buffers hoặc w-buffers)
  • Bóng Flat hay Gouraud
  • Nhiều nguồn và kiểu ánh sáng.
  • Đầy đủ sự hỗ trợ vật chất (material) và kết cấu (texture), bao gồm mapmapping.
  • Các trình phần mềm mô phỏng mạnh.
  • Sự chuyển đổi và clipping.
  • Độc lập với phần cứng.
  • Đầy đủ hỗ trợ trên các hệ điều hành Windows 95, Windows 98 và Windows 2000.
  • Hỗ trợ cho kiến trúc của Intel MMX.

Kiến trúc của Direct3D Immediate Mode

Các ứng dụng Direct3D giao tiếp với phần cứng đồ hoạ trong một kiểu cách tương tự khi chúng dùng một trong hai chế độ Retained hoặc Immediate. Chúng có thể có hoặc không có những thuận lợi của phần mềm mô phỏng trước khi tương tác với tầng mô phỏng phần cứng (Hardware Emulation Layer – HAL). Từ khi Direct3D là một giao diện cho đối tượng tượng DirectDraw, tầng mô phỏng phần cứng HAL được xem như là DirectDraw/ Direct3D HAL.

Direct3D được tích hợp chặt chẽ với thành phần DirectDraw của Direct X. Các bề mặt DirectDraw được sử dụng như các đích trình diễn (mặt trước và mặt sau) và như vùng đệm z.

Các kiểu đối tượng Immediate Mode.

Direct3D Immediate Mode được làm nên từ một chuỗi các đối tượng. Khi lập trình với C++, chúng ta làm việc trực tiếp với các đối tượng này để chế tác thế giới ảo của ta và xây dựng ứng dụng Direct3D.

  • Đối tượng DirectDraw
  • Đối tượng DirectDrawSurface
  • Đối tượng Direct3DDevice
  • Đối tượng Direct3DVertex Buffer?

Các giao diện COM của Immediate Mode

  • IDirect3D7 : giao diện gốc, dùng để nhận được các giao diện khác.
  • IDirect3DDevice7 : thiết bị 3-D cho Draw Primitive? – nền tảng lập trình.
  • IDirect3DVertex Buffer 7? : giao diện dùng để làm việc với các vùng đệm điểm.

Đặc trưng của Direct3D Immediate Mode

Direct3D Immediate Mode bao gồm một số lượng nhỏ thành phần API liên quan để tạo các đối tượng, tô chúng với dữ liệu, và liên kết cùng chúng. API được dựa trên nền tảng COM. Các API Immediate Mode là lớp rất nhỏ so với các driver Direct3D. Nó bao gồm các thành phần sau :

  • Các thay đổi đối với DirectX 7.0 .
  • Sự biến đổi và ánh sáng được làm nhanh ở phần cứng.
  • Môi trường ánh xạ với các môi trường mặt bậc ba.
  • Các thay đổi API.
  • Blending hình học.
  • Các khối trạng thái thiết bị.
  • Cải tiến sự quản lý kết cấu texture.
  • Tăng cường phần mềm mô phỏng.

OpenSceneGraph

Tài tiệu Open GL

Tài liệu OSG

Hình ảnh một số sản phẩm

srs_01.jpg: 200x150, 45k (December 01, 2011, at 11:13 AM)
vsg_01.jpg: 600x450, 55k (December 01, 2011, at 11:13 AM)
cangdn2.jpg: 800x500, 69k (December 01, 2011, at 11:13 AM)
CangDN-1.jpg: 200x125, 31k (December 01, 2011, at 11:13 AM)
doanmonlarge16820061.jpg: 650x418, 195k (December 01, 2011, at 11:13 AM)
nhatranglarge16820061.jpg: 650x406, 201k (December 01, 2011, at 11:13 AM)

sửa SideBar

Edit - History - Print - Recent Changes - Search
Page last modified on September 16, 2005, at 12:31 AM