2012-01-16 7 views
5

난 당신이 개발자 웹 사이트에 talking about shaders here을 볼 수 있듯이 엑스 코드 4가 설정 및 Mac OSX 라이온과 3.0의 OpenGL을 사용 (10.7)

내에서의 OpenGL 3.0 컨텍스트를 설정하기 위해 노력하고 그것을 사용하는 예입니다 OpenGL 2.0. 부록 B에서는 3.2에 대한 업데이트에 대해 설명하지만 함수 이름 변경 사항과 코어에만 적용되는 내용을 보여줍니다. 실제로 OpenGL 컨텍스트를 설정하는 예제는 없습니다. 이것은 고정 함수 파이프 라인이 glMatrixMode (...) .. 등 등의 작업을 더 이상 할 수 없기 때문에 크게 변경되었습니다. OpenGL 상태는 더 이상 존재하지 않습니다.

사람이 엑스 코드 4가 감사하겠습니다을 사용하여 맥 OSX 10.7에는 OpenGL 3.0 컨텍스트를 설정하는 웹 어딘가에 링크에 저를 지적 할 수 있습니다.

+0

무엇 *에 대해 같은 문서에서 * 장을 '선택 렌더러 및 버퍼 속성'? 프로파일 속성을 선택하십시오 : ** kCGLOGLPVersion_3_2_Core ** –

답변

5

NSOpenGLView 안에 3.2 컨텍스트를 설정하기위한 몇 가지 예시적인 코드 here있다. 어느 경우

또는 코어 GL을 사용하여

,

CGLPixelFormatAttribute attribs[13] = { 
    kCGLPFAOpenGLProfile, (CGLPixelFormatAttribute)kCGLOGLPVersion_3_2_Core, // This sets the context to 3.2 
    kCGLPFAColorSize,  (CGLPixelFormatAttribute)24, 
    kCGLPFAAlphaSize,  (CGLPixelFormatAttribute)8, 
    kCGLPFAAccelerated, 
    kCGLPFADoubleBuffer, 
    kCGLPFASampleBuffers, (CGLPixelFormatAttribute)1, 
    kCGLPFASamples,  (CGLPixelFormatAttribute)4, 
    (CGLPixelFormatAttribute)0 
}; 

CGLPixelFormatObj pix; 
GLint npix; 
CGLChoosePixelFormat(attribs, &pix, &npix); 

CGLContextObj ctx; 
CGLCreateContext(pix, 0, &ctx); 

CGLSetCurrentContext(ctx); 
CGLLockContext(ctx); 

당신은 수신 거부 때문에 (하지 인터페이스 빌더를 통해) 수동으로해야한다.

+0

감사합니다. 체크 아웃 할 것입니다 ... – cspam