2011-12-21 4 views
0

애플의 OpenGL 쉐이더 빌더는 버텍스 (또는 프래그먼트) 쉐이더를 드롭하고 연결하고 유효성을 검사 한 다음 해당 쉐이더에 사용되는 GL_RENDERER를 알려줍니다. Apple Software Renderer (쉐이더가 느려지므로 빨간색으로 표시됨) 또는 AMD Radeon HD 6970M OpenGL 엔진 (예 : 일반적으로 쉐이더를 실행하려는 gpu 렌더러)이 나와 있습니다.어떤 렌더러가 버텍스 쉐이더에 사용되는지 결정합니다.

어떻게하면 런타임에 내 소프트웨어에서이를 확인할 수 있습니까?

편집 : 내 CPU 코드에서 쿼리 GL_RENDERER에 관계없이 항상 내가 OpenGL을 쉐이더 빌더가 실행되고 말한다 셰이더를 사용하고 있습니다 비록 무승부 루프에 배치 곳의 AMD 라데온 HD 6970M의 OpenGL 엔진을 반환하는 것 Apple Software Renderer (매우 느리기 때문에 믿습니다). 적시에 GL_RENDERER에 질의하는 문제입니까? 그렇다면 언제?

답변

0

사용 된 렌더러가 OpenGL 컨텍스트에 연결되어 있고 적절한 OpenGL 구현으로 렌더러를 전환해서는 안됩니다. 물론 OpenGL 구현은 백엔드 렌더러간에 동적으로 전환하는 일부 인프라에서 구현 될 수 있지만이 정보는이를 식별하는 렌더러 문자열의 프론트 엔드 컨텍스트에 반영되어야합니다.

그럼 당신이하는 일은 실제로 올바른 방법입니다.

관련 문제