Directx và opengl la gi

     
Tin tức tứ vấn học thức Tin VP bảo mật Mạng máy bộ ứng dụng công nghệ đồ hoạ cải cách và phát triển nhanh một cách đặc biệt trong lĩnh vực công nghiệp PC , bởi những Chipset mới , nâng cấp cách tân Chipset , thậm trí kiến tạo lại trả toàn technology mới .

Bạn đang xem: Directx và opengl la gi

Bạn đã xem: Directx và opengl la gi

DirectX

Công nghệ đồ vật hoạ cách tân và phát triển nhanh một cách đặc biệt quan trọng trong nghành công nghiệp PC , bởi những Chipset new , nâng cấp cách tân Chipset , thậm trí desgin lại hoàn toàn technology mới . Hiện giờ một vụ việc là làm nắm nào cơ mà những áp dụng lại áp dụng được hết đa số phần cứng 3D tiên tiến nhất , phần lớn nhà phát triển đã viết mọi mã lệnh để dùng được với tất cả bộ vi xử lý đồ hoạ ( GPU ) .

Giải pháp sẽ là API (Application Programming Interface - hình ảnh lập trình ứng dụng ) . đều API hành vi như là phương châm trung gian giữa phần mềm ứng dụng với phần cứng lúc nó được kích hoạt . Rất nhiều nhà sản xuất ứng dụng viết các mã lệnh cơ mà những đầu ra những tài liệu đồ hoạ của nó tới API , hơn là trực tiếp tới phần cứng . Mọi nhà sản xuất phần cứng viết Driver , kế tiếp dịch mã chuẩn chỉnh này tới format mà mọi phần cứng đầy đủ hiểu được .

Được trình làng lần trước tiên năm 1995 , DirectX là tập lệnh tích hợp của các công nỗ lực lập trình để giúp đỡ những nhà cách tân và phát triển thực hiện tại những ứng dụng Multimedia cho nền tảng gốc rễ Windows . Nó bao che lên hầu như tất cả những khía cạnh của câu chữ Multimedia trong thời hạn đó .

DirectX 7.0 được giới thiệu lần thứ nhất vào năm 1999 gồm những thành phần bao gồm như sau :

Direct3D : sử dụng cho thiết bị hoạ 3 chiều trong thời gian thực . Đồ hoạ 3d là hiển thị đông đảo vật thể và hầu hết cảnh bằng những thông tin về độ cao , độ rộng , độ sâu .Những thông tin được tính toán trong khối hệ thống toạ độ được thể hiện theo cha hướng qua trục : x, y, z. DirectDraw : dùng để tăng tốc cho số đông đồ hoạ 2D. DirectSound : dùng để làm thu phát âm thanh . DirectPlay : sử dụng cho liên kết mạng ( đặc biệt quan trọng dùng cho đa số người chơi trên mạng mạng internet ) . DirectInput : cần sử dụng cho Joystick và những thiết bị tương quan . DirectMusic : dùng cho tài liệu âm nhạc dựa trên những tin nhắn .

DirectX 8.0 phân phát hành cuối năm 2000 , đã kết hợp những thành phần đúng theo thành DirectSound cùng DirectMusic để biến hóa DirectAudio và bóc tách những chức năng cuối cùng của trang bị hoạ 2 chiều và 3d với Direct3D cùng DirectDraw nhằm hợp thành DirectX Graphic . Nó cũng lấy những thành phần của DirectShow , trước kia tiến hành như là API tách rời , biến một thành phần chấp thuận trong DirectX .

Trên thực tế , yếu tố DirectDraw nhà yếu thực hiện giao diện Direct3D và Direct3D API sẽ vẫn còn thường xuyên phát triển .

Tháng một năm 2003 , DirectX 9.0 được sản xuất , nó cải tiến nhiều việc có ý nghĩa sâu sắc với API bao hàm :

khả năng âm thanh mới trong DirectSound. Tăng tốc phần cứng tái tạo video clip trong DirectShow. Cải tiến khả năng lập trình đồ hoạ nút thấp bằng kiểu xây dựng với Vertex Shader và px Shader 2.0 .

Phiên phiên bản này của API rất danh tiếng và được Microsoft giới thiệu với tên thường gọi HLSL (High-Level Shader Language - ngữ điệu Shader nấc cao ) .

Phiên phiên bản 9.0 ban đầu của DirectX theo thời hạn được nâng cấp và cải tiến để biến hóa 9.0a , b với c . Mọi phiên bản này sẽ nâng cấp chế độ an ninh , hiệu suất làm việc và sửa lỗi .

Hiện nay trong PC gồm hai bối cảnh API 3d được sử dụng đó là : OpenGL cùng Direct3D và bọn chúng đã thống trị được không ít năm .

OpenGL

Được bắt đầu vào năm 1992 bởi vì Silicon Graphics (SGI ) phát triển cho CAD và 3d API với đồ họa X-terminal (Hệ thống cửa sổ được MIT cách tân và phát triển chạy trong môi trường thiên nhiên UNIX và tất cả hệ thống hoạt động chính . Nó sử dụng giao thức Client-Server và cho phép những người sử dụng chạy những vận dụng trên những máy tính xách tay khác trong mạng với xem bằng màn hình hiển thị hiển thị của họ ) dựa vào Unix . OpenGL được phát triển dựa trên thư viện hình ảnh của riêng biệt SGI mang tên là IrisGL . Ban đầu OpenGL bị hạn chế khi sử dụng các vận dụng doanh nghiệp như : công nghiệp , xây đắp máy móc và nội thất , những vấn đề phân tích thống kế và công nghệ .

Tuy nhiên API (Application Programming Interface – bối cảnh chương trình ứng dụng , nó là tập hợp mọi hàm , những giấy tờ thủ tục con mà công tác hoặc ứng dụng , có thể gọi nhằm nói mang đến hệ điều hành thực hiện nhiệm vụ . API Windows 95 bao gồm hơn 1000 hàm được viết bởi C, C++ , Pascal cùng những ngôn từ lập trình khác hoàn toàn có thể gọi để chế tạo ra những hành lang cửa số , mở phần đa File và triển khai những trọng trách cơ phiên bản khác ) được lợi vị sự cách tân và phát triển của Game cùng với sự phát triển của mọi phiên phiên bản Windows những năm 1996 , và tất cả những gói 3 chiều của PC chính và thậm trí một số trong những gói thành phầm Low-End đều hỗ trợ để tăng tốc triển khai OpenGL .

Cũng như phần cứng tăng tốc 3D bước vào trong các dòng sản phẩm thông dụng , SGI đã sửa lại điều khoản phiên bản quyền của bản thân mình để tạo nên OpenGL được “mở “ nhiều hơn thế nữa , bằng phương pháp như vậy vị trí của nó được thêm chặt với nền tảng gốc rễ API để xuất bản sự ảnh hưởng qua lại trong số những ứng dụng 2d và 3 chiều .

OpenGL API được thiết kế theo phong cách để dùng rộng rãi giữa những kĩ thuật đồ dùng hoạ như : Texture Mapping ( năng lực đưa hồ hết hình ảnh tới mặt phẳng đồ hoạ ) , Anti-Aliasing , độ trong veo , sương mù , ánh sáng ( kỹ năng tính toán màu sắc của bề mặt khi đa số kiểu sánh sáng khác biệt tới mặt phẳng từ một hoặc những nguồn sáng sủa ) , đánh bóng bề mặt ( khả năng giám sát hiệu ứng tiến công bóng khi tia nắng chạm tới bề mặt ở những ánh mắt khác nhau và tác dụng cho sự khác biệt về màu sắc một cách kì ảo qua mặt phẳng ) , vết mờ khi dịch chuyển và biến hóa hình tượng ( khả năng biến đổi vị trí , size và lao lý phối cảnh xa gần của vật dụng thể trong không gian toạ độ 3d ) .

Những điểm sáng của nó tương tự như như phần đông gì Direct3D đã làm cho , cơ mà nó là API mức thấp hơn hơn là kẻ thù của nó, cung cấp điều khiển khôn cùng đẹp lên đông đảo thành phần cơ bản của việc tạo ra những cảnh 3D như là Vertext (vị trí không có kích thước trong bố hoặc bốn kích thước không khí mà cắt vì chưng hai hay những đường – ví như gờ của hình ảnh) với những thông tin về tam giác (hình cơ bạn dạng để chế tạo ra hình khối trong vật dụng hoạ 3d ) .

/

Vertex

Ứng dụng OpenGL phải hỗ trợ tất cả thông tin hình học cho từng điểm bé dại nhất trong cơ sở tài liệu 3D ( thường thì là mọi điểm , mọi đường và đông đảo hình nhiều giác diễn tả hình thù hình học cơ phiên bản – như những hình mong , đa số hình khối , hình tròn trụ ....Một số phần cứng và phần mềm 3D còn đưa ra rất nhiều hình cong gọi là “spline” ) trong quang cảnh , cũng giống như vậy so với những hiệu ứng giành được với điểm nhỏ dại nhất trong cơ sở dữ liệu 3D ( color , độ nhìn trong suốt , sương mù .... ) .

Độ trong veo là tính năng rất có thể nhìn qua 1 vật thể khác , quan niệm độ vào suốt với tính mờ thường xuất xắc dùng đồng nghĩa ; tuy nhiên Trong xuyên suốt về kỹ thuật có nghĩa là “ xem qua lớp kính trong sáng , tính mờ có nghĩa là “ xem qua lớp kính mờ “.

Mức độ điều khiển của nó là tại sao chính khiến cho những nhà cách tân và phát triển tuyên tía OpenGL dễ dàng hơn để sinh sản những ứng dụng so với Direct3D và tin yêu hơn với những căn cơ phần cứng khác nhau .

Xem thêm: Top 6 Phần Mềm Kế Toán Miễn Phí Tốt Nhất, Top 5 Phần Mềm Kế Toán Miễn Phí Tốt Nhất 2022

Có nhì mức độ cơ bạn dạng hỗ trợ phần cứng tăng tốc đến OpenGL .

ICD (Installable Client Drivers ) tăng nhanh hơn với đo lường và tính toán ánh sáng sủa , sự đổi khác và Rasterisation ( là sự thay đổi của cảnh 3d đa giác , được lưu trữ trong cỗ đệm khung hình , thành đông đảo hình hình ảnh đầy đủ với bố cục , độ sâu và ánh sáng . MCD (Mini Client Servers ) hỗ trợ cho Rasterisation .

Trong năm 1992 , ARB (Architecture đánh giá Board ) được dùng rộng rãi trong công nghiệp đã để ý tới sự cách tân và phát triển và tiến triển của OpenGL để tạo ta những cụ thể kỹ thuật new cho API hàng năm . Cụ thể kĩ thuật của OpenGL 1.4 cùng 1.5 được thông tin vào mùa hè năm 2002 với năm 2003 gồm thêm những tính năng kỹ thuật và những đặc điểm mới . Một điều đặc biệt quan trọng , vừa qua nhất bao gồm Ngôn ngữ OpenGL Shading , là ngữ điệu được chờ đón trong một thời gian dài của API nhằm lập trình Vertex Shader và px Shader , sẽ được mở rộng và phát triển .

Ngôn ngữ OpenGL Shading hối hả trở nên cung cấp rộng rãi để cải cách và phát triển sự tương tác lẫn nhau của trang bị hoạ và những ứng dụng hình tượng , được tiến hành trên Unix , Microsoft Windows , Linux và đều hệ quản lý và điều hành khác .

Trong năm 2004 , phiên bản OpenGL 2.0 được gây ra , nó gồm những điểm sáng mới bao hàm :

thiết kế Shading , bởi cả ngôn từ OpenGL Shading với API của nó thay đổi nét đặc thù nhân OpneGL . Tác dụng mới bao hàm khả năng chế tạo ra Shader ( Shader là thuật toán nhưng mô tả bằng toán học tập làm gắng nào những vật tư riêng lẻ hoàn lại lại thứ thể với ánh sáng liên can với nhau thế nào trong sự xuất hiện thêm toàn cảnh ) và gần như vật thể lập trình được ; và khả năng viết Vertex và đầy đủ đoạn Shader trong ngôn ngữ OpenGL Shading . Tái tạo những đích mà chất nhận được những Shader được thiết kế viết số đông giá trị khác biệt tới nhiều bộ đệm áp ra output . Cung ứng giảm công suất tiêu thụ trên bộ nhớ lưu trữ khi cần sử dụng với những bố cục tổng quan hình chữ nhật . Tô khuôn nhị mặt , có công dụng định nghĩa hàm sơn khuôn mang lại mặt trước cùng mặt sau của hình gốc lúc đầu , nâng cao hiệu suất của trọng lượng Shadow và thuật toán sản xuất khối hình học tập . ....

OpenGL 2.0 tương thích hoàn toán với rất nhiều phiên bạn dạng trước tê .

Direct3D ( D3D )

Một phương pháp để D3D cho phép những nhà cải tiến và phát triển Game tới đầy đủ nhà sản xuất Game chủ quyền với phần cứng của PC chính là lớp HAL (Hardware Abstraction Layer ) , tác động trải qua thiết bị phần mềm chủ quyền .

HAL hỗ trợ giao diện với khả năng thực hiện rộng thoải mái trong phần cứng thiết bị hoạ 3 chiều và được cho phép những đơn vị sản xuất chế tạo những Driver mà links HAL với phần cứng . Điều này cho phép những vận dụng D3D khai quật những chức năng của phần cứng mà lại không có nhu cầu các thiết bị chuyên được sự dụng .

/

Direct3D ko mềm dẻo hơn OpenGL , mặc dù nó gồm kiểu xây dựng mức tốt với hy vọng tương đương cùng với đối thủ của bản thân mình , có tên gọi Intermediate Mode .

Trong D3D vượt trình thao tác làm việc thông qua Pipeline , hình học của vật thể 3d được CPU xử lí trước khi tới bộ phận tăng tốc 3 chiều để diễn giả những cảnh 3d trên màn hình hiển thị . Trong năm 1998 - hầu như nhà chế tạo Chip xả thân cuộc đua điên khùng khác để sở hữu quyền dùng phần tử tăng tốc 3D sớm nhất có thể – DirectX 5 gấp rút trở nên bị thắt nút cổ chai vào xử lí 3d . Trong trường hợp trở đề nghị tồi tệ thì xuất hiện sự thành lập và hoạt động của phần đông Chip 3d thế hệ thứ ba , Microsoft để ý lại toàn thể tính toán rứa đổi bên phía ngoài và ánh nắng API của DirectX để nâng cấp hiệu suất của up date hình học tập và cân bằng cấu tạo của hệ thống . DirectX 6.0 ( thực tế phát hành lần máy năm ) đang được xây dựng vào ngày hè năm 1998 có rất nhiều tính năng new để cải thiện trình diễn hình ảnh 3D cho Game và đầy đủ ứng dụng mô hình khác .

Phiên phiên bản 6 yếu tắc Direct3D cung ứng những Card màn hình hiển thị mới hơn để tiến hành nhiều trình diễn bố cục tổng quan trong một câu lệnh , giảm thời gian cần nhằm tạo phần nhiều những cảnh 3d . Nó cũng thêm những technology mới để cho những cảnh 3 chiều trông rất thật như Anistropic Filtering , Bump Mapping - chế tác ảo ảnh của tía cục thực tiễn và nguồn tia nắng trên khía cạnh phẳng . Khuynh hướng phối hợp của những đặc điểm của OpenGL tiếp tục để cung cấp những phép toán tương quan tới bài toán tạo khuôn – bằng vấn đề đưa thêm phần đa hình ảnh trong cảnh 3 chiều hơn là chỉ sử dụng vật thể 3D solo lẻ bên phía trong .

Do đó , trong trận đánh để kẻ thống trị đấu trường đồ gia dụng hoạ 3d cho PC , họ có Direct3D tại một bên , cùng OpenGL tại 1 bên khác được những nhà phân phát triển hỗ trợ mạnh hơn nhưng không bị ảnh hưởng từ căn nguyên Windows . Trong quá trình để tạo thành DirectX 7.0 đã lộ diện một sự việc mới nhưng mà cả Microsoft với SGI đã thuộc sản sinh ra một cái gọi là Fahrenheit . Tuy nhiên trong thời gian mà DirectX 7.0 mở ra trên thị trường năm 1999, tuy nhiên vẫn theo trào lưu phối hợp những tính năng của OpenGL , những những khái niệm liên quan tới Fahrenheit đã xuất hiện .

DirectX 7.0 tất cả những tính năng mới và nhanh hơn phiên bạn dạng trước tới 20% . Một điều đặc biệt trong đó là tất cả sự cung ứng của hartware tăng tốc T&L (Transformation and Lighting ) có trong những Card screen 3D hiện nay – với đáng kế là dựa trên GeForce 256 của nVidia với Savage 2000 của S3 . Từ khi có T&L , trong số những nhiệm vụ mà tập trung cao độ công suất thao tác của CPU trong số những Game thời đó , đã được gửi giao các bước cho thành phần tăng tốc 3D chuyên dụng , để CPU được giải phóng đi làm những quá trình khác – như Game hình dáng trí tuệ tự tạo – cho phép những nhà cải cách và phát triển Game kết hợp tạo được nhiều chi tiết hơn cùng xử lí nhiều hiệu ứng chuyên dụng hơn .

DirectX 8.0 , được phát hành thời điểm cuối năm 2000 , đã giới thiệu một số đổi khác quan trọng sau :

Sự đơn giản và dễ dàng hoá giá bán trị ban đầu và cách áp dụng Direct3D API , sự ưng ý nghi của Direct3D đối với những phiên bản phần cứng tiên tiến nhất . Không ngừng mở rộng giao diện Direct3D thành công nghệ tăng tốc 3d mới như thể tích kết cấu , các mẫu hình ảnh có sẵn , cung ứng T-Buffer .... Trình làng nguyên lí xử lí dữ liệu mới : các Shader ( pixel Shader với Vertex Shader ) .

Sự biến đổi liên quan tới gần như Shader được cho phép những nhà phát triển thi công được linh hoạt rộng và các hình ảnh trông sinh sống động như thật hơn . Bao gồm hai giao diện lập trình Shader đó là Vertex Shader và pixel Shader .

Những Vertex Shader rất có thể được dùng cho mọi hình hình ảnh động , những mặt phẳng bên ko kể vật thể , đầy đủ kiểu ánh sáng mà người tiêu dùng định nghĩa , sơ đồ môi trường xung quanh trung , thủ tục những khối hình học và bất kể thuật toán mà vị người phát triển định nghĩa

Những px Shader được lập trình cho phép tạo rất nhiều hiệu ứng độc đáo trong hình hình ảnh .

Vấn đề quan trọng đặc biệt nhất được trình làng trong DirectX 9.0 , được sản xuất tháng một năm 2003 , đó là ngôn ngữ Shader nấc cao HLSL (High-Level Shader Language ) của Microsoft .

Trước khi tất cả DirectX 9.0 , đa số nhà cải tiến và phát triển Games muốn trở nên tân tiến những Shader nên dùng ngữ điệu lập trình mức tốt rất trở ngại và phức hợp . HLSL đã chuyển đổi điều đó , nó được ra mắt để sản xuất thành môi trường thiên nhiên lập trình thân mật cho nhà cách tân và phát triển để thuận lợi thực hiện nay mọi làm việc để lập trình , từ những việc tạo đầy đủ bức ảnh nghệ thuật trung thực tới phần nhiều hiệu ứng được thiết kế . Dựa trên ngữ điệu lập trình C , HLSL tương hợp với tất cả những bộ vi xử lí đồ hoạ dựa trên cớ sở DirectX , nó có thể chấp nhận được những nhà cải cách và phát triển tạo được những hiệu ứng hình ảnh tương từ nhau bên trên những gốc rễ phần cứng khác nhau mà không cần thiết phải lập trình cụ thể cho từng nền tảng gốc rễ một .

Fahrenheit

Fahrenheit là 1 sáng kiến không giống của Microsoft và về sau trở thành fan sáng lập đã biến hóa nhanh nệm lĩnh vực technology đồ hoạ Multimedia . Nó lộ diện trong trận đánh giữa các API đồ hoạ 3d trong máy tính của Silicon Graphic ( SGI ) với Microsoft vào giữa thập kỷ 90 của cố kỉnh kỷ đôi mươi . Trong thời gian đó OpenGL của SGI sẽ trở thành chuẩn chỉnh không thể thiếu hụt được mang lại việc áp dụng trên phần lớn máy trạm với Direct3D 3.0 của Microsoft đã là sơ khai của API 3d cho Windows 95 với lập trình game .

Microsoft có giấy phép OpenGL , nhằm trợ góp trong việc Windows NT cố gắng kiếm một địa chỉ với hệ điều hành cho sản phẩm trạm . Cuối năm 1997 , Microsoft nhận ra đó chỉ là một phương án tạm thời và ban đầu làm việc với SGI trong dự án mang tên là Fahrenheit với mục đích sau cùng là hợp duy nhất Direct3D và OpenGL thành API mức cao bình thường cho các đồ hoạ 3 chiều .

Fahrenheit đã bao hàm ba nhân tố

Fahrenheit Scene Graph : nó có tính năng tương tự như Retained Mode nút cao của Direct3D . Nó chất nhận được những nhà trở nên tân tiến tập trung tạo thành toàn cảnh hơn là tạo đều hình nhiều giác đơn lẻ . Được xây dừng trong cùng thời hạn đó là FLM (Fahrenheit Large model Visualisation ) , nó là API mức cao xây cất cho CAD và mọi ứng dụng chuyên nghiệp có cấu trúc phức tạp với những bề mặt cong . Một thành phần đặc biệt quan trọng nhất mà không có lịch trình gây ra trước năm 2000 sẽ là FLL API (Fahrenheit Low cấp độ API ) mà liên quan tới những tinh chỉnh và điều khiển cơ bạn dạng của hình học tập , nó vô cùng quan trọng đặc biệt , được thiết kế với để sửa chữa thay thế Immediate Mode của Direct3D và trước đó đã có trong OpenGL .

Một số người nhận định rằng nếu không tồn tại sự kết hợp của Microsoft với SGI thì Direct3D không đủ kỹ năng phát triển tiếp như với ban sơ vốn tất cả của nó . Và tất cả điều không nghi ngờ đó là sự kết hợp giữa hai công ty làm cho tiền đề cho việc cải tiến và phát triển Game và các phần mềm bài bản .

Tuy nhiên , ban sơ Fahrenheit lại được SGI triệu tập và cách tân và phát triển , tính đến năm 1999 sẽ trở nên cụ thể khi Microsoft không có dự định xây đắp FLL . SGI đang có vấn đề nghiêm trọng đối với những PC chậm trễ nhưng về sai mọi Card màn hình thời thượng đang chiếm phần dần cùng không thọ sau đã gồm sự tuyên chiến và cạnh tranh và ăn hiếp doạ tự Microsoft . Như chúng ta đã biết , cuối cùng Fahrenhiet sẽ lụi tàn và chết .