OpenCL이란?
OpenCL은 이기종 시스템의 범용 병렬 프로그래밍을 위한 최초의 개방형 무료 표준이기도 합니다. 소프트웨어 개발자가 고성능 컴퓨팅 서버, 데스크탑 컴퓨팅 시스템 및 휴대용 장치를 위한 효율적이고 가벼운 코드를 작성할 수 있도록 하며 멀티 코어 프로세서(CPU), 그래픽 처리 장치(GPU), 셀 유형 아키텍처에 널리 적용됩니다. 디지털 신호 프로세서(DSP) 및 기타 병렬 프로세서는 게임, 엔터테인먼트, 과학 연구, 의료 등 다양한 분야에서 광범위한 개발 전망을 가지고 있습니다.
OpenCL 1.0은 주로 병렬 컴퓨팅 API와 이러한 계산을 위한 프로그래밍 언어로 구성됩니다. 또한 다음을 구체적으로 정의합니다.
1. p>
2. 다양한 유형의 이기종 프로세서에 적합한 데이터 및 작업 기반 병렬 컴퓨팅 API를 조정합니다.
3. IEEE 754 표준을 기반으로 하는 디지털 조건;
< p>4. OpenGL, OpenGL ES 및 기타 그래픽 API와 효율적으로 상호 운용됩니다.OpenGL이란 무엇입니까?
OpenGL은 업계에서 가장 널리 사용되는 2D/3D 그래픽 API로, 탄생 이후 수천 대의 컴퓨터 플랫폼에서 데이터를 생성해 왔습니다. 훌륭한 앱들. OpenGL은 Windows나 다른 운영 체제와 독립적이며 네트워크가 투명합니다. CAD, 콘텐츠 제작, 에너지, 엔터테인먼트, 게임 개발, 제조, 제약, 가상 현실 등의 산업에서 OpenGL은 프로그래머가 PC, 워크스테이션, 슈퍼컴퓨터 및 기타 하드웨어 장치에서 매우 강력한 고성능 소프트웨어를 구현할 수 있도록 지원합니다. 시각적 표현력이 뛰어난 소프트웨어.
OpenGL(전체 이름 Open Graphics Library)은 3차원 이미지(2차원 이미지도 포함)를 위한 교차 프로그래밍 언어 및 교차 플랫폼 프로그래밍 인터페이스를 정의하는 사양입니다. OpenGL은 강력하고 호출하기 쉬운 기본 그래픽 라이브러리인 전문 그래픽 프로그램 인터페이스입니다. OpenGL의 전신은 SGI가 그래픽 워크스테이션용으로 개발한 IRIS GL입니다. IRIS GL은 업계 표준 3D 그래픽 소프트웨어 인터페이스로, 강력하기는 하지만 이식성이 좋지 않아 SGI는 IRIS GL을 기반으로 OpenGL을 개발했습니다. OpenGL의 정식 영어 이름은 "Open Graphics Library"입니다. 이름에서 알 수 있듯이 OpenGL은 "개방형 그래픽 프로그래밍 인터페이스"입니다. DirectX가 국내 시장을 주도하고 있지만 전문적인 고급 그래픽 분야에서는 OpenGL이 대체할 수 없는 주역입니다.
Open GL은 Microsoft의 3D 그래픽 기술에 대한 완전한 제어를 대체할 수 있는 유일한 API입니다. 여전히 활력이 있지만 Silicon Graphics는 더 이상 Microsoft를 불쾌하게 만드는 방식으로 Open GL을 홍보하지 않으므로 더 높은 위험을 안고 있습니다. 게임 개발자는 독립적인 생각을 가진 그룹이며 많은 중요한 개발자가 여전히 Open GL을 사용하고 있습니다. 결과적으로 하드웨어 개발자는 이에 대한 지원을 강화하려고 합니다. Direct3D는 현재 고급 그래픽 장치 및 전문 응용 프로그램을 지원하지 않으며 Open GL이 이러한 영역을 지배합니다. 마지막으로, 오픈 소스 커뮤니티(특히 Mesa 프로젝트)는 Microsoft 운영 체제 사용 여부에 관계없이 모든 종류의 컴퓨터에 Open GL 지원을 제공하기 위해 열심히 노력해 왔습니다.
OpenGL3.0 버전은 2008년에 공식적으로 발표되었습니다. 그리고 공식 웹사이트에서 N 카드용 SDK 다운로드를 제공하는 nv에서 지원됩니다.
DirectX란 무엇인가요?
DirectX는 Windows 기반의 게임이나 멀티미디어 프로그램에서 실행 효율성을 높이고 3D 그래픽 및 음향 효과를 향상시킬 수 있는 API(응용 프로그래밍 인터페이스)입니다. 디자이너에게 일관된 하드웨어 드라이버 표준을 제공하여 게임 개발자가 각 하드웨어 브랜드에 대해 서로 다른 드라이버를 작성할 필요가 없도록 하고 사용자가 하드웨어를 설치하고 설정하는 복잡성을 줄입니다.
사실 이렇게 말하면 좀 애매하지 않나요? 사실 다이렉트(Direct)는 말 그대로 직접이라는 뜻이고, 뒤에 있는 X는 많은 의미를 담고 있는 점에서 다이렉트 서비스의 등장을 알 수 있습니다.
DirectX는 여러 API로 구성되어 있으며 그 성격에 따라 디스플레이 부분, 사운드 부분, 입력 부분, 네트워크 부분으로 나눌 수 있습니다.
디스플레이 부분은 그래픽 처리의 핵심으로 DirectDraw(DDraw)와 Direct3D(D3D)로 구분됩니다. 전자는 주로 2D 이미지 가속을 담당합니다. 여기에는 다양한 측면이 포함됩니다. mpg 재생, DVD 영화 재생, 사진 보기, 미니 게임 재생 등을 할 때 DDraw를 사용합니다. 밑줄 친 부분이 모두 DDraw를 사용하고 있으므로 이해할 수 있습니다. 후자는 CS의 장면과 캐릭터, FIFA의 캐릭터 등 3D 효과 표시를 주로 담당하며 모두 DirectX의 Direct3D를 사용합니다.
OpenCL, OpenGL, DirectX 사이에서 말해야 할 이야기
Apple의 OpenCL에 대한 업계의 지원은 이미 1990년대 중반부터 Apple의 OpenCL 개발에 중요한 요소가 될 것입니다. Microsoft는 자체 DirectX 그래픽 소프트웨어 및 게임 도구를 홍보하기 위해 OpenGL이 업계 표준이 되는 것을 방지하기 위해 노력했습니다. 마이크로소프트 다이렉트의 원래 전략
DirectX의 새 버전이 계속해서 출시되면서 개발자들은 최신 버전의 Windows로 전환하게 되었습니다. 예를 들어 최신 버전의 DirectX 10으로 인해 Vista 전용 게임이 많이 출시되어 Vista 판매가 증가했습니다. 그러나 원하는 효과를 얻으려면 Vista의 속도가 DirectX10 게임의 시장을 방해하기 때문에 개발자는 목표를 다시 XP로 바꿀 수밖에 없습니다.
OpenGL과 Apple
OpenGL의 전신은 1980년대 고급 그래픽 워크스테이션 제조업체인 SGI가 개발한 IRIS G로, 1990년대 초반에 오픈 소스 표준이 되었습니다. 당시 Microsoft는 Windows 95에서 OpenGL의 경쟁자로 Direct3D를 출시했습니다. 1990년대 후반 마이크로소프트와 SGI는 화씨(Fahrenheit) 프로젝트를 개발해 이 둘을 결합하려 했으나 실패했다. 그 후에도 마이크로소프트는 DirectX 개발을 계속하고 GPU 제조사와 협력해 OpenGL은 개발에 맡겼다.
Apple이 자체 QuickDraw 3D를 포기하고 OpenGL을 Mac OS X용 공식 3D 라이브러리로 만든 1990년대 후반까지 OpenGL은 거의 점차 사라졌습니다. Apple의 시스템은 OpenGL 프로그램에 많은 팬을 불러왔습니다. 이후 OpenGL은 Linux에서 공식적으로 채택되었으며 현재 PSP, PS3, Wii 등 주류 게임 플랫폼에서 이 기술을 지원합니다.
자체 DirectX 그래픽 라이브러리를 사용하고 OpenGL을 제외하는 Microsoft의 Xbox360은 예외입니다. 오늘날 OpenGL은 이전보다 DirectX와 경쟁이 더 치열합니다. Microsoft는 GPGPU 컴퓨팅을 구현하기 위해 Windows 7의 DirectX 11에 OpenCL과 유사한 기술을 추가할 계획입니다. 그러나 Apple의 OpenCL은 OpenGL 코드와 더욱 긴밀하게 작동하며 더 폭넓은 지원을 제공할 수 있습니다. Apple은 또한 OpenCL을 무료 오픈 소스 표준으로 만들어 누구나 플랫폼에 참여할 수 있도록 했습니다.
OpenGL과 OpenCL의 디자인 유사성으로 인해 개발자가 개발하기가 더 쉽습니다. 예를 들어 OpenCL에서 데이터 가상화 계산을 수행할 때 동일한 객체를 OpenGL에서 그래픽으로 렌더링할 수 있습니다. 동시에 OpenGL에서 그래픽 렌더링을 OpenCL에서 처리하고 변환할 수 있습니다.
OpenCL은 GPU 제조업체인 NVIDIA와 AMD에서 지원하며 Apple, SONY, Nintendo 플랫폼은 물론 Linux와 Windows도 지원하며 모든 회사의 개발자가 이 기술 개발에 참여할 수 있습니다.