2010-02-11 3 views
1

하스켈은 값 계산을 통한 계산에 관한 것입니다.하스켈의 OpenGL 바인딩에서 VBOs/FBOs/DisplayLists는 어떻게 작동합니까?

DisplayLists/FBOs/VBOs는 매우 매우 stateful입니다. 나는. "나에게 표시 목록/버퍼 객체 줄".

하스켈에서 이러한 바인딩은 어떻게 작동합니까?

[나는 모나드를 이해합니다. 그래서 푹신한 설명과는 반대로 기술적 인 설명이 선호된다.]

감사합니다.

답변

1

HOpenGL IO 모나드의 모든 것을 수행합니다. 그것이 제공하는 API는 하스켈처럼 OpenGL과 비슷합니다. 예를 들어,

do 
    -- create a new display list 
    dl <- defineNewList $ do 
     -- put some 
     -- drawing code 
     -- in here 

    -- call a pre-defined display list 
    callList dl 

그래서 모든 낮은 수준의 OpenGL 상호 작용은 매우 상태 인 말을하지.

+0

그러면 목록을 어떻게 내 보냅니 까? 또는 범위가 범위를 벗어날 때 자동으로 해제됩니까? – anon

+0

수동으로'deleteLists'로 해제하거나,'defineList'로 다른 디스플레이리스트의 ID를 재사용해야합니다. – ephemient

+1

그만; 나는 무언가의 마음을 무척 우아하게하기를 정말로 바랬다. – anon