2013-02-10 2 views
1

누군가 내가 opengl과 비슷한 래스터 엔진을 만들어서 opengl이하는 것을 완전히 이해할 것이라고 읽었습니다.독자적인 래스터 엔진을 만드는 것이 무슨 의미입니까?

그래픽 카드에 OpenGL/DirectX가 있고 그래픽 코어에 다른 것을 사용할 수 없기 때문에 그렇게 할 수 없다는 것을 이해했습니다.

내 생각은 잘못된 생각이지만, 누군가 그것을 수정할 수 있습니까?

답변

1

OpenGL은 그래픽 처리의 표준 방법입니다. 그래픽 카드에서만 소프트웨어의 분리 된 부분으로 존재하지 않습니다. 그래픽 카드에 OpenGL 하드웨어 가속 기능이 있으면 컴퓨터가 OpenGL 명령을 그래픽 카드로 보내고 CPU가 처리해야하는 작업을 줄일 수 있음을 의미합니다. OpenGL 표준.

카드에 OpenGL 하드웨어 지원 기능이 없으면 모든 것이 메인 프로세서를 통해 전송되어야하며 일반적으로 최적이 아닙니다.

실제로 많은 OpenGL 구현이 있습니다. 일부는 ATI 및 NVidia와 같은 회사에서 하드웨어를 사용하여 OpenGL 처리를 카드에 전달하기위한 자체 OpenGL 구현을 제공합니다. 기타는 오픈 소스 MESA와 같은 소프트웨어 기반입니다. DirectX 카드와 OpenGL 게임과 같이 일치하지 않는 카드와 게임을 실행하는 경우 순수한 소프트웨어 구현으로 렌더링해야 할 것입니다.

그렇습니다. 순수한 소프트웨어 구현이 가능하지만 최적은 아닙니다. 그러나 때로는 낮은 수준의 그래픽 정보에 액세스하고 조작해야하는 경우 소프트웨어 구현이 필요합니다. 그것을하는 방법을 아는 것은 가지고있는 중대한 기술이다.

0

특정 컨텍스트에서 비디오 메모리에 계속 액세스 할 수 있으며 래스터 구현의 핵심 인 블리 팅을 수행 할 수 있습니다. 자신의 그래픽 엔진을 학습 도구로 작성하는 것이 그럴듯한 일이며, 상당히 일반적인 것으로 말할 수 있습니다. 컴퓨터 사이언스 수업에서 우리는 컴파일러를 학습 연습으로 씁니다. 상업용 구현과 일치하지 않는다는 것을 알기조차합니다.

관련 문제