簡體   English   中英

function CGLGetCurrentContext 什么時候應該返回 NULL 什么時候不應該?

[英]When should the function CGLGetCurrentContext return NULL and when it shouldn't?

I am writing a program using an API that needs to get an OpenGL low-level context, but I am unable to understand when does the function CGLGetCurrentContext should return a value (an integer representing the context), and when it shouldn't.

現在, function CGLGetCurrentContext()正在返回NULL ,這破壞了我的程序。 我怎樣才能解決這個問題?

這個 function 的目的是什么? OpenGL 上下文是如何建模的?

OpenGL 具有綁定到工作線程的活動渲染上下文的概念。 這樣您就可以將CGLGetCurrentContext()視為返回一些線程局部變量。 如果出現以下情況,預計會返回一些值:

  • 一些代碼創建了 OpenGL 上下文。
  • 一些代碼在當前工作線程中激活了 OpenGL 上下文。
  • 您在同一個工作線程中調用CGLGetCurrentContext() ,並且之前的代碼沒有停用它。

由於您沒有指定代碼的詳細信息,我可能會認為 OpenGL 是由不是您編寫的代碼管理的,這使得很難說明為什么CGLGetCurrentContext()可能是 NULL。

我只能說我的 macOS 應用程序使用CGLGetCurrentContext()並且它按預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM