2016-09-08 56 views
3

似乎這個問題很少見。只是做了一些在線搜索,但無法找到答案。是否可以檢查兩個現有GL上下文是否共享資源?

+0

這很少見,因爲一般來說,除非用戶知道它們來自哪裏,否則用戶沒有一對OpenGL內容。由於大多數用戶創建他們的上下文或告訴其他人這樣做。 –

+0

我想我的情況也很少見。我擁有(編譯和鏈接)GL背景下的一堆着色器(比如A)。一些着色器可以被各種其他客戶端GL上下文使用。不幸的是,我不知道每個客戶端GL上下文是否與A共享,因爲wglShareLists()是由客戶端代碼調用的。所以,我不知道客戶端是否可以重新使用編譯鏈接的着色器。 – lien

+1

如果你的客戶創建了上下文A,那麼你的客戶也必須創建上下文B.因此,你的客戶應該*告訴你*兩個上下文是否在共享組中,因爲你的客戶是知道它的人。 –

回答

0

上下文共享是由GLX,WGL,EGL或類似者提供的可選功能。嚴格地說,OpenGL無法查詢有關共享上下文的任何內容,因爲它不需要任何共享上下文的接口。規範確實提到了共享上下文中的某些行爲,但這是關於它的。

對於GLX,WGL和EGL,沒有辦法查詢上下文是否共享。

Reto的評論建議在一種情況下做某件事,看看它是否對另一方有影響。

如果您可以控制構建環境,則可以「鉤住」用於共享上下文的操作,註冊事件,然後調用實際操作。

相關問題