檢視原始碼 gl (wx v2.4.3)

OpenGL 的 Erlang 包裝函式

標準 OpenGL API

本文檔以簡短版本記錄完整的 OpenGL 參考頁面。

摘要

函式

累積緩衝區是擴展範圍的色彩緩衝區。影像不會渲染到其中。相反地,渲染到其中一個色彩緩衝區的影像會在渲染後加入累積緩衝區的內容。透過累積使用不同轉換矩陣產生的影像,可以建立諸如反鋸齒(點、線和多邊形)、動態模糊和景深等效果。

gl:activeShaderProgram/2Program 所命名的已連結程式設定為程式管線物件 Pipeline 的作用中程式。當沒有透過呼叫 gl:useProgram/1 將任何程式設為當前程式時,作用中程式管線物件中的作用中程式是呼叫 gl:uniform() 的目標。

gl:activeTexture/1 選擇後續紋理狀態呼叫會影響哪個紋理單元。實作支援的紋理單元數量取決於實作,但必須至少為 80。

alpha 測試會根據傳入片段的 alpha 值和常數參考值之間的比較結果,捨棄片段。gl:alphaFunc/2 指定參考值和比較函式。只有在啟用 alpha 測試時才會執行比較。預設情況下,它不會啟用。(請參閱 gl:enable/1gl:disable/1?GL_ALPHA_TEST。)

GL 會建立一組「工作集」的紋理,這些紋理駐留在紋理記憶體中。這些紋理可以比未駐留的紋理更有效率地繫結到紋理目標。

gl:arrayElement/1 命令在 gl:'begin'/1/gl:'end'/0 配對內使用,以指定點、線和多邊形圖元的頂點和屬性資料。如果呼叫 gl:arrayElement/1 時啟用 ?GL_VERTEX_ARRAY,則會繪製單一頂點,並使用從已啟用陣列的 I 位置取得的頂點和屬性資料。如果未啟用 ?GL_VERTEX_ARRAY,則不會發生繪圖,但會修改與已啟用陣列對應的屬性。

為了建立完整的著色器程式,必須有一種方法可以指定將連結在一起的項目清單。程式物件提供此機制。要連結到程式物件中的著色器必須先附加到該程式物件。gl:attachShader/2Shader 所指定的著色器物件附加到 Program 所指定的程式物件。這表示 Shader 將包含在將在 Program 上執行的連結作業中。

等同於 '\'end\''/0

gl:bindAttribLocation/3 用於將 Program 所指定的程式物件中使用者定義的屬性變數與一般頂點屬性索引建立關聯。使用者定義的屬性變數名稱以 null 終止字串的形式傳遞在 Name 中。要繫結到此變數的一般頂點屬性索引由 Index 指定。當 Program 成為目前狀態的一部分時,透過一般頂點屬性 Index 提供的值將修改 Name 所指定的使用者定義屬性變數的值。

gl:bindBuffer/2 將緩衝區物件繫結到指定的緩衝區繫結點。呼叫 gl:bindBuffer/2,並將 Target 設定為其中一個接受的符號常數,並將 Buffer 設定為緩衝區物件的名稱,會將該緩衝區物件名稱繫結到目標。如果沒有名稱為 Buffer 的緩衝區物件存在,則會建立一個具有該名稱的物件。當緩衝區物件繫結到目標時,該目標的先前繫結會自動中斷。

gl:bindBufferBase/3 將緩衝區物件 Buffer 繫結到 Target 所指定目標陣列中索引 Index 的繫結點。每個 Target 代表緩衝區繫結點的索引陣列,以及一個單一一般繫結點,其他緩衝區操作函式(例如 gl:bindBuffer/2glMapBuffer)可以使用此繫結點。除了將 Buffer 繫結到索引緩衝區繫結目標之外,gl:bindBufferBase/3 也會將 Buffer 繫結到 Target 所指定的一般緩衝區繫結點。

gl:bindBufferRange/5 將以 OffsetSize 表示的緩衝區物件 Buffer 的範圍繫結到 Target 所指定目標陣列中索引 Index 的繫結點。每個 Target 代表緩衝區繫結點的索引陣列,以及一個單一一般繫結點,其他緩衝區操作函式(例如 gl:bindBuffer/2glMapBuffer)可以使用此繫結點。除了將 Buffer 的範圍繫結到索引緩衝區繫結目標之外,gl:bindBufferRange/5 也會將該範圍繫結到 Target 所指定的一般緩衝區繫結點。

gl:bindBuffersBase/3 將一組 Count 緩衝區物件(其名稱在陣列 Buffers 中給定)繫結到從 Target 所指定目標陣列中索引 First 開始的 Count 個連續繫結點。如果 Buffers?NULL,則 gl:bindBuffersBase/3 會取消繫結目前繫結到所參考繫結點的任何緩衝區。假設沒有產生錯誤,它等同於以下虛擬程式碼,它會呼叫 gl:bindBufferBase/3,但 gl:bindBuffersBase/3 不會變更非索引 Target 除外

gl:bindBuffersRange/5 將一組 Count 範圍從緩衝區物件(其名稱在陣列 Buffers 中給定)繫結到從 Target 所指定目標陣列中索引 First 開始的 Count 個連續繫結點。Offsets 指定包含緩衝區中 Count 個起始偏移的陣列位址,而 Sizes 指定包含範圍 Count 個大小的陣列位址。如果 Buffers?NULL,則會忽略 OffsetsSizes,且 gl:bindBuffersRange/5 會取消繫結目前繫結到所參考繫結點的任何緩衝區。假設沒有產生錯誤,它等同於以下虛擬程式碼,它會呼叫 gl:bindBufferRange/5,但 gl:bindBuffersRange/5 不會變更非索引 Target 除外

gl:bindFragDataLocation/3 明確指定將使用者定義的變動輸出變數 Name 繫結到程式 Program 的片段著色器色彩編號 ColorNumber。如果 Name 先前已繫結,則其指定的繫結會取代為 ColorNumberName 必須是以 null 終止的字串。ColorNumber 必須小於 ?GL_MAX_DRAW_BUFFERS

gl:bindFragDataLocationIndexed/4 指定在下次連結程式時,Program 中的變動輸出變數 Name 應繫結到片段色彩 ColorNumberIndex 可以是零或一,分別指定該色彩用作混合方程式的第一個或第二個色彩輸入。

gl:bindFramebuffer/2 將名稱為 Framebuffer 的畫面緩衝區物件繫結到 Target 所指定的畫面緩衝區目標。Target 必須是 ?GL_DRAW_FRAMEBUFFER?GL_READ_FRAMEBUFFER?GL_FRAMEBUFFER。如果畫面緩衝區物件繫結到 ?GL_DRAW_FRAMEBUFFER?GL_READ_FRAMEBUFFER,它會分別成為渲染或讀回操作的目標,直到刪除它或將另一個畫面緩衝區繫結到對應的繫結點。使用設定為 ?GL_FRAMEBUFFERTarget 呼叫 gl:bindFramebuffer/2 會將 Framebuffer 繫結到讀取和繪製畫面緩衝區目標。Framebuffer 是先前從呼叫 gl:genFramebuffers/1 傳回的畫面緩衝區物件名稱,或是零以中斷現有的畫面緩衝區物件與 Target 的繫結。

gl:bindImageTexture/7 將紋理的單一層級綁定到影像單元,以便從著色器讀取和寫入。 Unit 指定要綁定紋理層級的影像單元的從零開始的索引。Texture 指定要綁定到影像單元的現有紋理物件的名稱。如果 Texture 為零,則會中斷任何現有對影像單元的綁定。Level 指定要綁定到影像單元的紋理層級。

gl:bindImageTextures/2 將現有紋理物件的陣列中的影像綁定到指定數量的連續影像單元。Count 指定陣列 Textures 中儲存的紋理物件名稱的數量。該數量的紋理名稱會從陣列中讀取,並綁定到從 First 開始的 Count 個連續紋理單元。如果名稱零出現在 Textures 陣列中,則會重設對影像單元的任何現有綁定。 Textures 中的任何非零項目都必須是現有紋理物件的名稱。當 Textures 中存在非零項目時,會綁定零層級的影像,該綁定會被視為分層的,第一層設定為零,並且該影像會被綁定以進行讀寫存取。影像單元格式參數取自紋理物件零層級影像的內部格式。對於立方體貼圖紋理,會使用零層級正 X 影像的內部格式。如果 Textures?NULL,則相當於指定了一個僅包含零的適當大小的陣列。

gl:bindProgramPipeline/1 將程式管線物件綁定到目前的內容。Pipeline 必須是先前從呼叫 gl:genProgramPipelines/1 返回的名稱。如果沒有名稱為 Pipeline 的程式管線存在,則會建立一個具有該名稱的新管線物件,並初始化為預設狀態向量。

gl:bindRenderbuffer/2 將名稱為 Renderbuffer 的渲染緩衝區物件綁定到 Target 指定的渲染緩衝區目標。Target 必須為 ?GL_RENDERBUFFERRenderbuffer 是先前從呼叫 gl:genRenderbuffers/1 返回的渲染緩衝區物件的名稱,或零以中斷現有的渲染緩衝區物件與 Target 的綁定。

gl:bindSampler/2Sampler 綁定到索引為 Unit 的紋理單元。Sampler 必須為零,或是先前從呼叫 gl:genSamplers/1 返回的取樣器物件的名稱。Unit 必須小於 ?GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 的值。

gl:bindSamplers/2 將現有取樣器物件陣列中的取樣器綁定到指定數量的連續取樣器單元。Count 指定陣列 Samplers 中儲存的取樣器物件名稱的數量。該數量的取樣器名稱會從陣列中讀取,並綁定到從 First 開始的 Count 個連續取樣器單元。

gl:bindTexture/2 可讓您建立或使用已命名的紋理。呼叫 gl:bindTexture/2 時,將 Target 設定為 ?GL_TEXTURE_1D?GL_TEXTURE_2D?GL_TEXTURE_3D?GL_TEXTURE_1D_ARRAY?GL_TEXTURE_2D_ARRAY?GL_TEXTURE_RECTANGLE?GL_TEXTURE_CUBE_MAP?GL_TEXTURE_CUBE_MAP_ARRAY?GL_TEXTURE_BUFFER?GL_TEXTURE_2D_MULTISAMPLE?GL_TEXTURE_2D_MULTISAMPLE_ARRAY,並將 Texture 設定為新紋理的名稱,會將紋理名稱綁定到目標。當紋理綁定到目標時,該目標的先前綁定會自動中斷。

gl:bindTextures/2 將現有紋理物件的陣列綁定到指定數量的連續紋理單元。Count 指定陣列 Textures 中儲存的紋理物件名稱的數量。該數量的紋理名稱會從陣列中讀取,並綁定到從 First 開始的 Count 個連續紋理單元。紋理的目標或類型是從紋理物件推斷出來的,並且每個紋理都會綁定到紋理單元的對應目標。如果名稱零出現在 Textures 陣列中,則會重設對紋理單元任何目標的任何現有綁定,並且會將該目標的預設紋理綁定到位。 Textures 中的任何非零項目都必須是現有紋理物件的名稱。如果 Textures?NULL,則相當於指定了一個僅包含零的適當大小的陣列。

gl:bindTextureUnit/2 將現有紋理物件綁定到編號為 Unit 的紋理單元。

gl:bindTransformFeedback/2 將名稱為 Id 的轉換回饋物件綁定到目前的 GL 狀態。Id 必須是先前從呼叫 gl:genTransformFeedbacks/1 返回的名稱。如果 Id 先前未被綁定,則會建立一個名稱為 Id 且以預設轉換狀態向量初始化的新轉換回饋物件。

gl:bindVertexArray/1 綁定名稱為 Array 的頂點陣列物件。Array 是先前從呼叫 gl:genVertexArrays/1 返回的頂點陣列物件的名稱,或零以中斷現有的頂點陣列物件綁定。

點陣圖是二進位影像。繪製時,點陣圖會相對於目前的點陣位置定位,並且使用目前的點陣顏色或索引寫入與點陣圖中的 1 對應的畫面緩衝區像素。與點陣圖中的 0 對應的畫面緩衝區像素不會被修改。

?GL_BLEND_COLOR 可用於計算來源和目標混合因子。顏色成分在儲存之前會被限制在 [0 1] 範圍內。請參閱 gl:blendFunc/2 以取得混合操作的完整說明。最初,?GL_BLEND_COLOR 會設定為 (0, 0, 0, 0)。

混合方程式決定如何將新像素(「來源」顏色)與畫面緩衝區中已有的像素(「目標」顏色)結合。此函數將 RGB 混合方程式和 Alpha 混合方程式都設定為單一方程式。 gl:blendEquationi/2 為單一繪圖緩衝區指定混合方程式,而 gl:blendEquation/1 設定所有繪圖緩衝區的混合方程式。

混合方程式決定如何將新像素(「來源」顏色)與畫面緩衝區中已有的像素(「目標」顏色)結合。這些函數為 RGB 顏色成分指定一個混合方程式,並為 Alpha 成分指定一個混合方程式。 gl:blendEquationSeparatei/3 為單一繪圖緩衝區指定混合方程式,而 gl:blendEquationSeparate/2 設定所有繪圖緩衝區的混合方程式。

可以使用將傳入(來源)RGBA 值與畫面緩衝區中已有的 RGBA 值(目標值)混合的函數來繪製像素。混合最初是停用的。使用 gl:enable/1gl:disable/1 並使用參數 ?GL_BLEND 來啟用和停用混合。

可以使用將傳入(來源)RGBA 值與畫面緩衝區中已有的 RGBA 值(目標值)混合的函數來繪製像素。混合最初是停用的。使用 gl:enable/1gl:disable/1 並使用參數 ?GL_BLEND 來啟用和停用混合。

gl:blitFramebuffer/10glBlitNamedFramebuffer 將像素值矩形從讀取畫面緩衝區的一個區域傳輸到繪圖畫面緩衝區的另一個區域。

gl:bufferData/4glNamedBufferData 會為緩衝區物件建立新的資料儲存區。在 gl:bufferData/4 的情況下,會使用目前綁定到 Target 的緩衝區物件。對於 glNamedBufferData,將會改為使用呼叫者在 Buffer 中指定的 ID 相關聯的緩衝區物件。

gl:bufferStorage/4glNamedBufferStorage 會建立新的不可變資料儲存區。對於 gl:bufferStorage/4,將會初始化目前綁定到 Target 的緩衝區物件。對於 glNamedBufferStorageBuffer 是將要設定的緩衝區物件的名稱。資料儲存區的大小由 Size 指定。如果初始資料可用,則可以在 Data 中提供其位址。否則,要建立未初始化的資料儲存區,Data 應該為 ?NULL

gl:bufferSubData/4glNamedBufferSubData 會重新定義指定緩衝區物件的部分或全部資料儲存區。從位元組偏移量 Offset 開始並延伸 Size 個位元組的資料會從 Data 所指向的記憶體複製到資料儲存區。OffsetSize 必須定義完全位於緩衝區物件的資料儲存區內的範圍。

gl:callList/1 會執行指定的顯示列表。儲存在顯示列表中的指令會依序執行,如同它們是在沒有使用顯示列表的情況下被呼叫一樣。如果 List 尚未被定義為顯示列表,則 gl:callList/1 會被忽略。

gl:callLists/1 會執行作為 Lists 傳遞的名稱列表中每個顯示列表。因此,儲存在每個顯示列表中的指令會依序執行,如同它們是在沒有使用顯示列表的情況下被呼叫一樣。尚未被定義的顯示列表名稱會被忽略。

gl:checkFramebufferStatus/1glCheckNamedFramebufferStatus 會傳回當作讀取或繪製幀緩衝區處理時,幀緩衝區物件的完整性狀態,具體取決於 Target 的值。

gl:clampColor/2 控制在 gl:readPixels/7 期間執行的顏色鉗制。Target 必須是 ?GL_CLAMP_READ_COLOR。如果 Clamp?GL_TRUE,則啟用讀取顏色鉗制;如果 Clamp?GL_FALSE,則停用讀取顏色鉗制。如果 Clamp?GL_FIXED_ONLY,則只有當選取的讀取緩衝區具有定點元件時才啟用讀取顏色鉗制,否則會停用。

gl:clear/1 將視窗的位元平面區域設定為先前由 gl:clearColor/4gl:clearDepth/1gl:clearStencil/1 選取的值。可以使用 gl:drawBuffer/1 一次選取多個緩衝區來同時清除多個顏色緩衝區。

gl:clearAccum/4 指定 gl:clear/1 用於清除累積緩衝區的紅色、綠色、藍色和 alpha 值。

這些指令會將幀緩衝區的指定緩衝區清除為指定的值。對於 gl:clearBuffer*(),幀緩衝區是目前綁定的繪製幀緩衝區物件。對於 glClearNamedFramebuffer*Framebuffer 為零,表示預設繪製幀緩衝區,或是幀緩衝區物件的名稱。

gl:clearColor/4 指定 gl:clear/1 用於清除顏色緩衝區的紅色、綠色、藍色和 alpha 值。gl:clearColor/4 指定的值會被鉗制在 [0 1] 範圍內。

gl:clearDepth/1 指定 gl:clear/1 用於清除深度緩衝區的深度值。gl:clearDepth/1 指定的值會被鉗制在 [0 1] 範圍內。

gl:clearIndex/1 指定 gl:clear/1 用於清除顏色索引緩衝區的索引。C 不會被鉗制。相反地,C 會被轉換為二進位點右側具有未指定精度的定點值。然後,此值的整數部分會與 2 m-1 進行遮罩,其中 m 是儲存在幀緩衝區中顏色索引的位元數。

gl:clearStencil/1 指定 gl:clear/1 用於清除模板緩衝區的索引。S 會與 2 m-1 進行遮罩,其中 m 是模板緩衝區中的位元數。

gl:clearTexImage/5 使用應用程式提供的值填滿紋理中包含的所有圖像。Texture 必須是現有紋理的名稱。此外,Texture 不可以是緩衝區紋理的名稱,也不能是壓縮的內部格式。

gl:clearTexSubImage/11 使用應用程式提供的值填滿紋理中包含的所有或部分圖像。Texture 必須是現有紋理的名稱。此外,Texture 不可以是緩衝區紋理的名稱,也不能是壓縮的內部格式。

gl:clientActiveTexture/1 選取要由 gl:texCoordPointer/4 修改的頂點陣列客戶端狀態參數,並分別使用 gl:enableClientState/1gl:disableClientState/1 啟用或停用,當呼叫的參數為 ?GL_TEXTURE_COORD_ARRAY 時。

gl:clientWaitSync/3 會導致客戶端阻塞並等待由 Sync 指定的同步物件發出訊號。如果 gl:clientWaitSync/3 被呼叫時 Sync 已發出訊號,gl:clientWaitSync/3 會立即返回,否則它會阻塞並等待最多 Timeout 奈秒,直到 Sync 發出訊號。

gl:clipControl/2 控制裁剪體積的行為以及裁剪座標到視窗座標的轉換行為。

幾何圖形始終會根據 xyz 中的六平面截頭錐體邊界進行裁剪。gl:clipPlane/2 允許指定額外的平面,這些平面不一定垂直於 xyz 軸,所有幾何圖形都會根據這些平面進行裁剪。若要判斷額外裁剪平面的最大數量,請使用參數 ?GL_MAX_CLIP_PLANES 呼叫 gl:getIntegerv/1。所有實作都支援至少六個此類裁剪平面。由於產生的裁剪區域是已定義半空間的交集,因此它始終是凸的。

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

等同於 color4usv/1

GL 儲存目前單值顏色索引和目前四值 RGBA 顏色。gl:color() 設定新的四值 RGBA 顏色。gl:color() 有兩種主要變體:gl:color3()gl:color4()gl:color3() 變體會明確指定新的紅色、綠色和藍色值,並隱含地將目前的 alpha 值設定為 1.0 (全強度)。gl:color4() 變體會明確指定所有四種顏色成分。

gl:colorMask/4gl:colorMaski/5 指定是否可以或不能寫入幀緩衝區中的個別顏色成分。gl:colorMaski/5 設定特定繪製緩衝區的遮罩,而 gl:colorMask/4 設定所有繪製緩衝區的遮罩。例如,如果 Red?GL_FALSE,則無論嘗試進行哪種繪圖操作,都不會變更任何顏色緩衝區中任何像素的紅色成分。

gl:colorMaterial/2 指定哪些材質參數會追蹤目前的顏色。當 ?GL_COLOR_MATERIAL 啟用時,由 Mode 指定的材質參數,或由 Face 指定的材質參數會隨時追蹤目前的顏色。

gl:colorPointer/4 指定在渲染時要使用的顏色成分陣列的位置和資料格式。Size 指定每個顏色的成分數,且必須為 3 或 4。Type 指定每個顏色成分的資料類型,而 Stride 指定從一個顏色到下一個顏色的位元組步幅,允許將頂點和屬性封裝到單個陣列中或儲存在單獨的陣列中。(單陣列儲存可能在某些實作上更有效率;請參閱 gl:interleavedArrays/3。)

gl:colorSubTable/6 用於重新指定先前使用 gl:colorTable/6 定義的顏色表之連續部分。Data 所參照的像素會取代現有表格中從索引 Start 到 start+count-1(含)的部分。此區域不得包含原始指定顏色表範圍外的任何條目。指定寬度為 0 的子紋理並非錯誤,但此類指定沒有效果。

gl:colorTable/6 可用於兩種情況:測試在給定特定參數下,查找表實際的大小和顏色解析度,或是載入顏色查找表的內容。使用 ?GL_PROXY_* 目標用於第一種情況,其他目標則用於第二種情況。

gl:colorTableParameter() 用於指定當顏色分量載入到顏色表時應用的縮放因子和偏差項。Target 表示縮放和偏差項所應用的顏色表;它必須設定為 ?GL_COLOR_TABLE?GL_POST_CONVOLUTION_COLOR_TABLE?GL_POST_COLOR_MATRIX_COLOR_TABLE

gl:compileShader/1 編譯儲存在由 Shader 指定的著色器物件中的原始碼字串。

紋理貼圖允許著色器讀取影像陣列的元素。

紋理貼圖允許著色器讀取影像陣列的元素。

gl:copyBufferSubData/5glCopyNamedBufferSubData 將附加到來源緩衝區物件的資料儲存區的一部分複製到附加到目標緩衝區物件的資料儲存區。由 Size 指示的基本機器單元數量從來源的偏移量 ReadOffset 複製到目標的偏移量 WriteOffsetReadOffsetWriteOffsetSize 均以基本機器單元表示。

gl:copyColorSubTable/5 用於重新指定先前使用 gl:colorTable/6 定義的顏色表的連續部分。從幀緩衝區複製的像素會取代現有表中索引從 Start 到 start+x-1 (包含) 的部分。此區域不得包含超出顏色表範圍的任何條目,如同最初指定的那樣。指定寬度為 0 的子紋理不是錯誤,但這種指定沒有任何效果。

gl:copyColorTable/5 從目前的 ?GL_READ_BUFFER (而不是從主記憶體,如同 gl:colorTable/6 的情況) 載入顏色表。

gl:copyConvolutionFilter1D/5 使用來自目前 ?GL_READ_BUFFER 的像素 (而不是從主記憶體,如同 gl:convolutionFilter1D/6 的情況) 定義一維捲積濾波器核心。

gl:copyConvolutionFilter2D/6 使用來自目前 ?GL_READ_BUFFER 的像素 (而不是從主記憶體,如同 gl:convolutionFilter2D/7 的情況) 定義二維捲積濾波器核心。

gl:copyImageSubData/15 可用於將資料從一個影像 (即紋理或渲染緩衝區) 複製到另一個影像。gl:copyImageSubData/15 不執行通用轉換,例如縮放、調整大小、混合、色彩空間或格式轉換。它應被視為以類似於 CPU memcpy 的方式運作。如果格式相容,CopyImageSubData 可以在具有不同內部格式的影像之間複製。

gl:copyPixels/5 將螢幕對齊的像素矩形從指定的幀緩衝區位置複製到相對於目前光柵位置的區域。只有當整個像素來源區域都在視窗的暴露部分內時,其操作才是明確定義的。從視窗外部或從視窗中未暴露的區域複製的結果取決於硬體且未定義。

gl:copyTexImage1D/7 使用來自目前的 ?GL_READ_BUFFER 的像素定義一維紋理影像。

gl:copyTexImage2D/8 使用來自目前的 ?GL_READ_BUFFER 的像素定義二維紋理影像或立方體貼圖紋理影像。

gl:copyTexSubImage1D/6glCopyTextureSubImage1D 使用來自目前的 ?GL_READ_BUFFER 的像素取代一維紋理影像的一部分 (而不是從主記憶體,如同 gl:texSubImage1D/7 的情況)。對於 gl:copyTexSubImage1D/6,繫結到 Target 的紋理物件將用於此流程。對於 glCopyTextureSubImage1DTexture 會指出應將哪個紋理物件用於呼叫的目的。

gl:copyTexSubImage2D/8glCopyTextureSubImage2D 使用來自目前的 ?GL_READ_BUFFER 的像素取代二維紋理影像、立方體貼圖紋理影像、矩形影像的矩形部分,或一維陣列紋理的多個切片的線性部分 (而不是從主記憶體,如同 gl:texSubImage2D/9 的情況)。

gl:copyTexSubImage3D/9glCopyTextureSubImage3D 函式使用來自目前的 ?GL_READ_BUFFER 的像素取代三維或二維陣列紋理影像的矩形部分 (而不是從主記憶體,如同 gl:texSubImage3D/11 的情況)。

gl:createBuffers/1Buffers 中傳回 N 個先前未使用的緩衝區名稱,每個名稱都代表一個新的緩衝區物件,如同繫結到未指定的目標一樣初始化。

gl:createFramebuffers/1Framebuffers 中傳回 N 個先前未使用的幀緩衝區名稱,每個名稱都代表一個初始化為預設狀態的新幀緩衝區物件。

gl:createProgram/0 建立一個空的程式物件,並傳回可用於參考它的非零值。程式物件是一個可以附加著色器物件的物件。這提供了一種機制來指定將連結以建立程式的著色器物件。它還提供了一種方法來檢查將用於建立程式的著色器之間的相容性 (例如,檢查頂點著色器和片段著色器之間的相容性)。當不再需要作為程式物件的一部分時,可以分離著色器物件。

gl:createProgramPipelines/1Pipelines 中傳回 N 個先前未使用的程式管線名稱,每個名稱都代表一個初始化為預設狀態的新程式管線物件。

gl:createQueries/2Ids 中傳回 N 個先前未使用的查詢物件名稱,每個名稱都代表一個具有指定 Target 的新查詢物件。

gl:createRenderbuffers/1Renderbuffers 中傳回 N 個先前未使用的渲染緩衝區物件名稱,每個名稱都代表一個初始化為預設狀態的新渲染緩衝區物件。

gl:createSamplers/1Samplers 中傳回 N 個先前未使用的取樣器名稱,每個名稱都代表一個初始化為預設狀態的新取樣器物件。

gl:createShader/1 建立一個空的著色器物件,並傳回可用於參考它的非零值。著色器物件用於維護定義著色器的原始碼字串。ShaderType 表示要建立的著色器類型。支援五種著色器類型。類型為 ?GL_COMPUTE_SHADER 的著色器是預期在可程式化運算處理器上執行的著色器。類型為 ?GL_VERTEX_SHADER 的著色器是預期在可程式化頂點處理器上執行的著色器。類型為 ?GL_TESS_CONTROL_SHADER 的著色器是預期在控制階段的可程式化細分處理器上執行的著色器。類型為 ?GL_TESS_EVALUATION_SHADER 的著色器是預期在評估階段的可程式化細分處理器上執行的著色器。類型為 ?GL_GEOMETRY_SHADER 的著色器是預期在可程式化幾何處理器上執行的著色器。類型為 ?GL_FRAGMENT_SHADER 的著色器是預期在可程式化片段處理器上執行的著色器。

gl:createShaderProgram() 建立一個程式物件,其中包含由 Type 指定的單個階段的已編譯和已連結的著色器。Strings 指的是用於建立著色器可執行檔的 Count 個字串陣列。

gl:createTextures/2Textures 中返回 N 個先前未使用的紋理名稱,每個名稱代表一個新的紋理物件,其維度和類型由 Target 指定,並初始化為該紋理類型的預設值。

gl:createTransformFeedbacks/1Ids 中返回 N 個先前未使用的變換回饋物件名稱,每個名稱代表一個新的變換回饋物件,並初始化為預設狀態。

gl:createVertexArrays/1Arrays 中返回 N 個先前未使用的頂點陣列物件名稱,每個名稱代表一個新的頂點陣列物件,並初始化為預設狀態。

gl:cullFace/1 指定當啟用面剔除時,正面或背面(由 mode 指定)是否被剔除。面剔除最初是禁用的。要啟用和禁用面剔除,請使用引數 ?GL_CULL_FACE 呼叫 gl:enable/1gl:disable/1 命令。面包括三角形、四邊形、多邊形和矩形。

gl:debugMessageControl/5 控制除錯上下文所產生的除錯訊息的報告。參數 SourceTypeSeverity 形成一個過濾器,從 GL 產生的潛在訊息池中選擇訊息。

gl:debugMessageInsert/5 將使用者提供的訊息插入除錯輸出佇列。Source 指定將用於分類訊息的來源,並且必須為 ?GL_DEBUG_SOURCE_APPLICATION?GL_DEBUG_SOURCE_THIRD_PARTY。所有其他來源都保留給 GL 實作使用。Type 指示要插入的訊息類型,可以是 ?GL_DEBUG_TYPE_ERROR?GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR?GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR?GL_DEBUG_TYPE_PORTABILITY?GL_DEBUG_TYPE_PERFORMANCE?GL_DEBUG_TYPE_MARKER?GL_DEBUG_TYPE_PUSH_GROUP?GL_DEBUG_TYPE_POP_GROUP?GL_DEBUG_TYPE_OTHERSeverity 指示訊息的嚴重性,可以是 ?GL_DEBUG_SEVERITY_LOW?GL_DEBUG_SEVERITY_MEDIUM?GL_DEBUG_SEVERITY_HIGH?GL_DEBUG_SEVERITY_NOTIFICATIONId 可供應用程式定義使用,並且可以是任何值。此值將被記錄並用於識別訊息。

gl:deleteBuffers/1 刪除由陣列 Buffers 的元素命名的 N 個緩衝區物件。在刪除緩衝區物件後,它沒有內容,並且其名稱可供重複使用(例如通過 gl:genBuffers/1)。如果刪除當前綁定的緩衝區物件,則綁定會還原為 0(不存在任何緩衝區物件)。

gl:deleteFramebuffers/1 刪除名稱儲存在 Framebuffers 定址的陣列中的 N 個幀緩衝區物件。名稱 0 由 GL 保留,如果它出現在 Framebuffers 中,則會被靜默忽略,其他未使用的名稱也是如此。一旦刪除幀緩衝區物件,其名稱將再次未使用,並且沒有任何附件。如果當前綁定到一個或多個目標 ?GL_DRAW_FRAMEBUFFER?GL_READ_FRAMEBUFFER 的幀緩衝區被刪除,就好像已使用對應的 TargetFramebuffer 零執行了 gl:bindFramebuffer/2

gl:deleteLists/2 導致刪除連續的顯示列表組。List 是要刪除的第一個顯示列表的名稱,Range 是要刪除的顯示列表數。所有顯示列表 d 滿足 list<= d<= list+range-1 都會被刪除。

gl:deleteProgram/1 釋放內存並使與 Program 指定的程式物件相關聯的名稱失效。此命令有效地撤消了對 gl:createProgram/0 的呼叫效果。

gl:deleteProgramPipelines/1 刪除名稱儲存在陣列 Pipelines 中的 N 個程式管線物件。Pipelines 中未使用的名稱將被忽略,名稱 0 也是如此。刪除程式管線物件後,其名稱將再次未使用,並且沒有任何內容。如果刪除當前綁定的程式管線物件,則該物件的綁定會還原為零,並且沒有程式管線物件變為當前。

gl:deleteQueries/1 刪除由陣列 Ids 的元素命名的 N 個查詢物件。刪除查詢物件後,它沒有內容,並且其名稱可供重複使用(例如通過 gl:genQueries/1)。

gl:deleteRenderbuffers/1 刪除名稱儲存在 Renderbuffers 定址的陣列中的 N 個渲染緩衝區物件。名稱 0 由 GL 保留,如果它出現在 Renderbuffers 中,則會被靜默忽略,其他未使用的名稱也是如此。一旦刪除渲染緩衝區物件,其名稱將再次未使用,並且沒有任何內容。如果刪除當前綁定到目標 ?GL_RENDERBUFFER 的渲染緩衝區,就好像已使用 ?GL_RENDERBUFFERTarget 和名稱為 0 的 Name 執行了 gl:bindRenderbuffer/2

gl:deleteSamplers/1 刪除由陣列 Samplers 的元素命名的 N 個取樣器物件。刪除取樣器物件後,其名稱將再次未使用。如果刪除當前綁定到取樣器單元的取樣器物件,就好像呼叫了 gl:bindSampler/2,其中單元設定為取樣器綁定的單元,取樣器設定為 0。Samplers 中未使用的名稱將被靜默忽略,保留名稱 0 也是如此。

gl:deleteShader/1 釋放內存並使與 Shader 指定的著色器物件相關聯的名稱失效。此命令有效地撤消了對 gl:createShader/1 的呼叫效果。

gl:deleteSync/1 刪除由 Sync 指定的同步物件。如果與指定的同步物件對應的柵欄命令已完成,或者如果沒有 gl:waitSync/3gl:clientWaitSync/3 命令在 Sync 上阻塞,則會立即刪除該物件。否則,Sync 會被標記為刪除,並且當它不再與任何柵欄命令相關聯,並且不再阻塞任何 gl:waitSync/3gl:clientWaitSync/3 命令時將被刪除。在任何一種情況下,在 gl:deleteSync/1 返回後,名稱 Sync 無效,並且不能再用於引用同步物件。

gl:deleteTextures/1 刪除由陣列 Textures 的元素命名的 N 個紋理。刪除紋理後,它沒有內容或維度,並且其名稱可供重複使用(例如通過 gl:genTextures/1)。如果刪除當前綁定的紋理,則綁定會還原為 0(預設紋理)。

gl:deleteTransformFeedbacks/1 刪除名稱儲存在陣列 Ids 中的 N 個變換回饋物件。Ids 中未使用的名稱將被忽略,名稱 0 也是如此。刪除變換回饋物件後,其名稱將再次未使用,並且沒有任何內容。如果刪除活動的變換回饋物件,則其名稱會立即變為未使用,但基礎物件不會被刪除,直到它不再活動。

gl:deleteVertexArrays/1 刪除名稱儲存在 Arrays 定址的陣列中的 N 個頂點陣列物件。一旦刪除頂點陣列物件,它就沒有內容,並且其名稱再次未使用。如果刪除當前綁定的頂點陣列物件,則該物件的綁定會還原為零,並且預設頂點陣列變為當前。 Arrays 中未使用的名稱將被靜默忽略,值 0 也是如此。

gl:depthFunc/1 指定用於比較每個傳入像素深度值與深度緩衝區中存在的深度值的函數。只有在啟用深度測試時才會執行比較。(請參閱 gl:enable/1gl:disable/1?GL_DEPTH_TEST。)

gl:depthMask/1 指定是否啟用深度緩衝區寫入。如果 Flag?GL_FALSE,則禁用深度緩衝區寫入。否則,將啟用。最初,深度緩衝區寫入是啟用的。

在裁剪並除以 w 之後,深度座標的範圍會從 -1 到 1,分別對應到近裁剪面和遠裁剪面。每個視埠都有一個獨立的深度範圍,指定為此範圍內標準化深度座標到視窗深度座標的線性映射。無論實際的深度緩衝區實作方式為何,視窗座標深度值都被視為範圍從 0 到 1(如顏色分量)。gl:depthRangeArray() 指定此範圍中標準化深度座標到視窗深度座標的線性映射,適用於範圍 [First, First + Count) 內的每個視埠。因此,gl:depthRangeArray() 接受的值在接受之前都會被鉗制到此範圍內。

在裁剪並除以 w 之後,深度座標的範圍會從 -1 到 1,分別對應到近裁剪面和遠裁剪面。gl:depthRange/2 指定此範圍中標準化深度座標到視窗深度座標的線性映射。無論實際的深度緩衝區實作方式為何,視窗座標深度值都被視為範圍從 0 到 1(如顏色分量)。因此,gl:depthRange/2 接受的值在接受之前都會被鉗制到此範圍內。

在裁剪並除以 w 之後,深度座標的範圍會從 -1 到 1,分別對應到近裁剪面和遠裁剪面。每個視埠都有一個獨立的深度範圍,指定為此範圍內標準化深度座標到視窗深度座標的線性映射。無論實際的深度緩衝區實作方式為何,視窗座標深度值都被視為範圍從 0 到 1(如顏色分量)。gl:depthRangeIndexed/3 指定此範圍中標準化深度座標到視窗深度座標的線性映射,適用於指定的視埠。因此,gl:depthRangeIndexed/3 接受的值在接受之前都會被鉗制到此範圍內。

gl:detachShader/2Shader 指定的著色器物件從 Program 指定的程式物件分離。此命令可用於還原命令 gl:attachShader/2 的效果。

等同於 enablei/2

gl:dispatchCompute/3 啟動一個或多個計算工作群組。每個工作群組都由計算著色器階段的活動程式物件處理。雖然工作群組內的個別著色器調用會作為一個單位執行,但工作群組會完全獨立且以未指定的順序執行。Num_groups_xNum_groups_yNum_groups_z 分別指定將在 X、Y 和 Z 維度中調度的本機工作群組數量。

gl:dispatchComputeIndirect/1 使用目前繫結到 ?GL_DISPATCH_INDIRECT_BUFFER 目標的緩衝區物件中儲存的參數,啟動一個或多個計算工作群組。每個工作群組都由計算著色器階段的活動程式物件處理。雖然工作群組內的個別著色器調用會作為一個單位執行,但工作群組會完全獨立且以未指定的順序執行。Indirect 包含緩衝區物件的資料儲存區中的偏移量,該物件繫結到 ?GL_DISPATCH_INDIRECT_BUFFER 目標,參數儲存在該處。

gl:drawArrays/3 使用極少量的子常式呼叫來指定多個幾何圖元。您可以使用預先指定的頂點、法線和顏色陣列,而不是呼叫 GL 程序來傳遞每個個別的頂點、法線、紋理座標、邊緣旗標或顏色,並使用它們以單次呼叫 gl:drawArrays/3 來建構一系列圖元。

gl:drawArraysIndirect/2 使用極少量的子常式呼叫來指定多個幾何圖元。gl:drawArraysIndirect/2 的行為與 gl:drawArraysInstancedBaseInstance/5 類似,除了 gl:drawArraysInstancedBaseInstance/5 的參數儲存在 Indirect 給定的位址的記憶體中。

gl:drawArraysInstanced/4 的行為與 gl:drawArrays/3 完全相同,只是執行元素範圍的 Instancecount 個執行個體,且內部計數器 InstanceID 的值會在每次迭代時遞增。InstanceID 是一個內部 32 位元整數計數器,可由頂點著色器讀取為 ?gl_InstanceID

gl:drawArraysInstancedBaseInstance/5 的行為與 gl:drawArrays/3 完全相同,只是執行元素範圍的 Instancecount 個執行個體,且內部計數器 InstanceID 的值會在每次迭代時遞增。InstanceID 是一個內部 32 位元整數計數器,可由頂點著色器讀取為 ?gl_InstanceID

當色彩寫入框架緩衝區時,它們會寫入 gl:drawBuffer/1 指定的色彩緩衝區。下列其中一個值可用於預設框架緩衝區

gl:drawBuffers/1glNamedFramebufferDrawBuffers 定義一個緩衝區陣列,來自片段著色器資料的輸出將會寫入其中。如果片段著色器將值寫入一個或多個使用者定義的輸出變數,則每個變數的值會寫入 Bufs 內的位置所指定的緩衝區,該位置對應到指派給該使用者定義輸出的位置。用於指派給大於或等於 N 的位置的使用者定義輸出的繪製緩衝區會隱式設定為 ?GL_NONE,並且寫入此類輸出的任何資料都會被捨棄。

gl:drawElements/4 使用極少量的子常式呼叫來指定多個幾何圖元。您可以使用預先指定的頂點、法線等等陣列,而不是呼叫 GL 函式來傳遞每個個別的頂點、法線、紋理座標、邊緣旗標或顏色,並使用它們以單次呼叫 gl:drawElements/4 來建構一系列圖元。

gl:drawElementsBaseVertex/5 的行為與 gl:drawElements/4 完全相同,除了對應的繪製呼叫所傳輸的第 i 個元素將取自每個啟用陣列的元素 Indices[i] + Basevertex。如果結果值大於 Type 可表示的最大值,則就好像計算已向上轉換為 32 位元不帶正負號的整數(在溢位條件下環繞)。如果總和為負數,則此運算未定義。

gl:drawElementsIndirect/3 使用極少量的子常式呼叫來指定多個索引幾何圖元。gl:drawElementsIndirect/3 的行為與 gl:drawElementsInstancedBaseVertexBaseInstance/7 類似,除了 gl:drawElementsInstancedBaseVertexBaseInstance/7 的參數儲存在 Indirect 給定的位址的記憶體中。

gl:drawElementsInstanced/5 的行為與 gl:drawElements/4 完全相同,只是執行元素集合的 Instancecount 個執行個體,且內部計數器 InstanceID 的值會在每次迭代時遞增。InstanceID 是一個內部 32 位元整數計數器,可由頂點著色器讀取為 ?gl_InstanceID

gl:drawElementsInstancedBaseInstance/6 的行為與 gl:drawElements/4 完全相同,只是執行元素集合的 Instancecount 個執行個體,且內部計數器 InstanceID 的值會在每次迭代時遞增。InstanceID 是一個內部 32 位元整數計數器,可由頂點著色器讀取為 ?gl_InstanceID

gl:drawElementsInstancedBaseVertex/6 的行為與 gl:drawElementsInstanced/5 完全相同,除了對應的繪製呼叫所傳輸的第 i 個元素將取自每個啟用陣列的元素 Indices[i] + Basevertex。如果結果值大於 Type 可表示的最大值,則就好像計算已向上轉換為 32 位元不帶正負號的整數(在溢位條件下環繞)。如果總和為負數,則此運算未定義。

gl:drawElementsInstancedBaseVertexBaseInstance/7 的行為與 gl:drawElementsInstanced/5 相同,差別在於對應的繪圖呼叫所傳輸的第 i 個元素,會從每個啟用的陣列中的 Indices[i] + Basevertex 元素取得。如果計算後的數值大於 Type 所能表示的最大值,則會如同將計算結果向上轉換為 32 位元無號整數(在溢位的情況下會環繞)。如果總和為負數,則此操作的行為未定義。

gl:drawPixels/5 從記憶體讀取像素資料,並將其寫入相對於目前光柵位置的幀緩衝區,前提是光柵位置有效。使用 gl:rasterPos()gl:windowPos() 來設定目前的光柵位置;使用 gl:get() 並帶入參數 ?GL_CURRENT_RASTER_POSITION_VALID 來判斷指定的光柵位置是否有效,以及使用 gl:get() 並帶入參數 ?GL_CURRENT_RASTER_POSITION 來查詢光柵位置。

gl:drawRangeElements/6gl:drawElements/4 的限制形式。ModeCountgl:drawElements/4 的對應參數相同,但額外限制陣列 Count 中的所有值都必須介於 StartEnd 之間(包含)。

gl:drawRangeElementsBaseVertex/7gl:drawElementsBaseVertex/5 的限制形式。ModeCountBasevertexgl:drawElementsBaseVertex/5 的對應參數相同,但額外限制陣列 Indices 中的所有值在加上 Basevertex 之前,必須介於 StartEnd 之間(包含)。超出範圍 [Start, End] 的索引值會以與 gl:drawElementsBaseVertex/5 相同的方式處理。對應的繪圖呼叫所傳輸的第 i 個元素,會從每個啟用的陣列中的 Indices[i] + Basevertex 元素取得。如果計算後的數值大於 Type 所能表示的最大值,則會如同將計算結果向上轉換為 32 位元無號整數(在溢位的情況下會環繞)。如果總和為負數,則此操作的行為未定義。

gl:drawTransformFeedback/2 使用由 Id 指定的轉換回饋擷取的計數,繪製由 Mode 指定類型的圖元。呼叫 gl:drawTransformFeedback/2 等同於呼叫 gl:drawArrays/3,其中 Mode 如指定,First 設定為零,且 Count 設定為上次在由 Id 指定的轉換回饋物件上啟用轉換回饋時,在頂點串流零上擷取的頂點數量。

gl:drawTransformFeedbackInstanced/3 使用由 Id 指定的轉換回饋物件的 Stream 指定的轉換回饋串流所擷取的計數,繪製由 Mode 指定類型的多個圖元範圍副本。呼叫 gl:drawTransformFeedbackInstanced/3 等同於呼叫 gl:drawArraysInstanced/4,其中 ModeInstancecount 如指定,First 設定為零,且 Count 設定為上次在由 Id 指定的轉換回饋物件上啟用轉換回饋時,在頂點串流零上擷取的頂點數量。

gl:drawTransformFeedbackStream/3 使用由 Id 指定的轉換回饋物件的 Stream 指定的轉換回饋串流所擷取的計數,繪製由 Mode 指定類型的圖元。呼叫 gl:drawTransformFeedbackStream/3 等同於呼叫 gl:drawArrays/3,其中 Mode 如指定,First 設定為零,且 Count 設定為上次在由 Id 指定的轉換回饋物件上啟用轉換回饋時,在頂點串流 Stream 上擷取的頂點數量。

gl:drawTransformFeedbackStreamInstanced/4 使用由 Id 指定的轉換回饋物件的 Stream 指定的轉換回饋串流所擷取的計數,繪製由 Mode 指定類型的多個圖元範圍副本。呼叫 gl:drawTransformFeedbackStreamInstanced/4 等同於呼叫 gl:drawArraysInstanced/4,其中 ModeInstancecount 如指定,First 設定為零,且 Count 設定為上次在由 Id 指定的轉換回饋物件上啟用轉換回饋時,在頂點串流 Stream 上擷取的頂點數量。

gl:edgeFlagPointer/2 指定在渲染時使用的布林邊緣旗標陣列的位置和資料格式。Stride 指定從一個邊緣旗標到下一個邊緣旗標的位元組跨度,允許將頂點和屬性封裝到單個陣列或儲存在單獨的陣列中。

gl:'begin'/1/gl:'end'/0 配對之間指定的每個多邊形、分離三角形或分離四邊形的頂點,都會被標記為邊界或非邊界邊緣的起點。如果在指定頂點時,目前的邊緣旗標為 true,則該頂點會被標記為邊界邊緣的起點。否則,該頂點會被標記為非邊界邊緣的起點。gl:edgeFlag/1 會在 Flag?GL_TRUE 時將邊緣旗標位元設定為 ?GL_TRUE,否則設定為 ?GL_FALSE

等同於 enablei/2

gl:enableClientState/1gl:disableClientState/1 啟用或停用個別的客戶端功能。預設情況下,所有客戶端功能都已停用。gl:enableClientState/1gl:disableClientState/1 都接受單個參數 Cap,它可以假設以下值之一

gl:enable/1gl:disable/1 啟用和停用各種功能。使用 gl:isEnabled/1gl:get() 來判斷任何功能的目前設定。除了 ?GL_DITHER?GL_MULTISAMPLE 之外,每個功能的初始值都是 ?GL_FALSE?GL_DITHER?GL_MULTISAMPLE 的初始值是 ?GL_TRUE

gl:enableVertexAttribArray/1gl:enableVertexArrayAttrib/2 啟用由 Index 指定的泛型頂點屬性陣列。gl:enableVertexAttribArray/1 使用目前綁定的頂點陣列物件來進行操作,而 gl:enableVertexArrayAttrib/2 則更新 ID 為 Vaobj 的頂點陣列物件的狀態。

gl:'begin'/1gl:'end'/0 分隔定義圖元或一組類似圖元的頂點。gl:'begin'/1 接受單個參數,指定頂點以十種方式中的哪一種方式解釋。將 n 視為從 1 開始的整數計數,並將 N 視為指定的頂點總數,則解釋如下

條件渲染使用 gl:beginConditionalRender/2 開始,並使用 gl:endConditionalRender/0 結束。在條件渲染期間,如果查詢物件 Id 的 (?GL_SAMPLES_PASSED) 結果為零,或 (?GL_ANY_SAMPLES_PASSED) 結果為 ?GL_FALSE,則所有頂點陣列命令,以及 gl:clear/1gl:clearBuffer() 都沒有作用。設定目前頂點狀態的命令(例如 gl:vertexAttrib())的結果未定義。如果 (?GL_SAMPLES_PASSED) 結果為非零值,或 (?GL_ANY_SAMPLES_PASSED) 結果為 ?GL_TRUE,則不會捨棄這些命令。gl:beginConditionalRender/2Id 參數必須是先前從呼叫 gl:genQueries/1 返回的查詢物件的名稱。Mode 指定如何解釋查詢物件的結果。如果 Mode?GL_QUERY_WAIT,則 GL 會等待查詢結果可用,然後使用結果來判斷是否捨棄後續的渲染命令。如果 Mode?GL_QUERY_NO_WAIT,則 GL 可以選擇無條件執行後續的渲染命令,而無需等待查詢完成。

等同於 newList/2

gl:beginQuery/2gl:endQuery/1 劃定了查詢物件的邊界。Query 必須是先前呼叫 gl:genQueries/1 所傳回的名稱。如果名稱為 Id 的查詢物件尚不存在,則會以 Target 所決定的類型建立。 Target 必須是 ?GL_SAMPLES_PASSED?GL_ANY_SAMPLES_PASSED?GL_PRIMITIVES_GENERATED?GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN?GL_TIME_ELAPSED 其中之一。查詢物件的行為取決於其類型,如下所示。

gl:beginQueryIndexed/3gl:endQueryIndexed/2 劃定了查詢物件的邊界。Query 必須是先前呼叫 gl:genQueries/1 所傳回的名稱。如果名稱為 Id 的查詢物件尚不存在,則會以 Target 所決定的類型建立。 Target 必須是 ?GL_SAMPLES_PASSED?GL_ANY_SAMPLES_PASSED?GL_PRIMITIVES_GENERATED?GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN?GL_TIME_ELAPSED 其中之一。查詢物件的行為取決於其類型,如下所示。

轉換回饋模式會捕捉頂點著色器(如果啟用了幾何著色器,則為幾何著色器)所寫入的 varying 變數值。在呼叫 gl:beginTransformFeedback/1 之後,直到後續呼叫 gl:endTransformFeedback/0,轉換回饋才被視為啟動。轉換回饋指令必須成對使用。

gl:evalCoord1() 會在引數 U 評估已啟用的單一維度映射。gl:evalCoord2() 對於使用兩個域值 UV 的二維映射執行相同的操作。若要定義映射,請呼叫 glMap1glMap2;若要啟用和停用它,請呼叫 gl:enable/1gl:disable/1

gl:mapGrid()gl:evalMesh() 搭配使用,以有效率地產生和評估一系列均勻間隔的映射域值。gl:evalMesh() 會逐步執行一或二維網格的整數域,其範圍是 glMap1glMap2 指定的評估映射的域。Mode 決定結果頂點是以點、線或填滿的多邊形連接。

gl:mapGrid()gl:evalMesh() 搭配使用,以有效率地產生和評估一系列均勻間隔的映射域值。gl:evalPoint() 可用於評估與 gl:evalMesh() 遍歷的相同網格空間中的單個網格點。呼叫 gl:evalPoint1/1 等同於呼叫 glEvalCoord1( i.ð u+u 1 ); 其中 ð u=(u 2-u 1)/n

gl:feedbackBuffer/3 函數控制回饋。回饋就像選擇一樣,是一種 GL 模式。透過呼叫 gl:renderMode/1 並使用 ?GL_FEEDBACK 來選擇此模式。當 GL 處於回饋模式時,不會產生任何像素來進行光柵化。相反地,使用 GL 將有關原本會進行光柵化的圖元資訊回饋到應用程式。

gl:fenceSync/2 會建立一個新的 fence sync 物件,將 fence 指令插入 GL 指令串流中,並將其與該 sync 物件關聯,然後傳回對應於該 sync 物件的非零名稱。

gl:finish/0 在所有先前呼叫的 GL 指令的效果完成之前不會傳回。這些效果包括對 GL 狀態的所有變更、對連線狀態的所有變更以及對幀緩衝區內容的所有變更。

不同的 GL 實作會在數個不同的位置緩衝指令,包括網路緩衝區和圖形加速器本身。gl:flush/0 會清空所有這些緩衝區,使所有已發出的指令在被實際渲染引擎接受時盡快執行。雖然此執行可能不會在任何特定時間段內完成,但它會在有限的時間內完成。

gl:flushMappedBufferRange/3 表示已對映射緩衝區物件的範圍進行修改。緩衝區物件先前必須使用 ?GL_MAP_FLUSH_EXPLICIT_BIT 旗標進行映射。

等同於 fogCoordfv/1

gl:fogCoord() 指定與每個頂點和目前光柵位置關聯的霧坐標。指定的值會進行內插,並用於計算霧顏色(請參閱 gl:fog())。

gl:fogCoordPointer/3 指定在渲染時要使用的霧坐標陣列的位置和資料格式。Type 指定每個霧坐標的資料類型,而 Stride 指定從一個霧坐標到下一個霧坐標的位元組跨距,允許將頂點和屬性封裝到單個陣列中或儲存在單獨的陣列中。

霧一開始會停用。啟用時,霧會影響光柵化幾何圖形、點陣圖和像素區塊,但不影響緩衝區清除作業。若要啟用和停用霧,請呼叫 gl:enable/1gl:disable/1 並使用引數 ?GL_FOG

gl:framebufferParameteri/3glNamedFramebufferParameteri 修改指定幀緩衝區物件中名為 Pname 的參數的值。預設繪製和讀取幀緩衝區沒有可修改的參數,因此它們不是這些指令的有效目標。

gl:framebufferRenderbuffer/4glNamedFramebufferRenderbuffer 將渲染緩衝區附加為指定幀緩衝區物件的邏輯緩衝區之一。渲染緩衝區無法附加到預設繪製和讀取幀緩衝區,因此它們不是這些指令的有效目標。

這些指令會將所選 mipmap 層級或紋理物件的影像附加為指定幀緩衝區物件的邏輯緩衝區之一。紋理無法附加到預設繪製和讀取幀緩衝區,因此它們不是這些指令的有效目標。

在完全由不透明封閉曲面組成的場景中,背面的多邊形永遠不可見。消除這些不可見的多邊形顯然具有加快影像渲染速度的優點。若要啟用和停用消除背面的多邊形,請呼叫 gl:enable/1gl:disable/1 並使用引數 ?GL_CULL_FACE

gl:frustum/6 描述產生透視投影的透視矩陣。目前的矩陣 (請參閱 gl:matrixMode/1) 會乘以這個矩陣,而結果會取代目前的矩陣,就像呼叫 gl:multMatrix() 並將下列矩陣作為其引數一樣

gl:genBuffers/1 會在 Buffers 中傳回 N 個緩衝區物件名稱。無法保證這些名稱形成連續的整數集;但是,保證在呼叫 gl:genBuffers/1 之前,傳回的名稱都未使用。

gl:generateMipmap/1gl:generateTextureMipmap/1 會為指定的紋理物件產生 mipmap。對於 gl:generateMipmap/1,綁定到 Target 的紋理物件。對於 gl:generateTextureMipmap/1Texture 是紋理物件的名稱。

gl:genFramebuffers/1 會在 Ids 中傳回 N 個幀緩衝區物件名稱。無法保證這些名稱形成連續的整數集;但是,保證在呼叫 gl:genFramebuffers/1 之前,傳回的名稱都未使用。

gl:genLists/1 接受一個引數 Range。它會回傳一個整數 n,使得會建立 Range 個連續的空白顯示列表,命名為 n、n+1、...、n+range-1。如果 Range 為 0,如果沒有可用的 Range 個連續名稱群組,或是產生任何錯誤,則不會產生顯示列表,並回傳 0。

gl:genProgramPipelines/1Pipelines 中回傳 N 個先前未使用的程式管線物件名稱。這些名稱會標記為已使用,僅用於 gl:genProgramPipelines/1,但只有在首次綁定時才會取得程式管線狀態。

gl:genQueries/1Ids 中回傳 N 個查詢物件名稱。不保證這些名稱形成連續的整數集合;但是,保證回傳的名稱在呼叫 gl:genQueries/1 之前都未使用。

gl:genRenderbuffers/1Renderbuffers 中回傳 N 個渲染緩衝區物件名稱。不保證這些名稱形成連續的整數集合;但是,保證回傳的名稱在呼叫 gl:genRenderbuffers/1 之前都未使用。

gl:genSamplers/1Samplers 中回傳 N 個取樣器物件名稱。不保證這些名稱形成連續的整數集合;但是,保證回傳的名稱在呼叫 gl:genSamplers/1 之前都未使用。

gl:genTextures/1Textures 中回傳 N 個紋理名稱。不保證這些名稱形成連續的整數集合;但是,保證回傳的名稱在呼叫 gl:genTextures/1 之前都未使用。

gl:genTransformFeedbacks/1Ids 中回傳 N 個先前未使用的變換回饋物件名稱。這些名稱會標記為已使用,僅用於 gl:genTransformFeedbacks/1,但只有在首次綁定時才會取得變換回饋狀態。

gl:genVertexArrays/1Arrays 中回傳 N 個頂點陣列物件名稱。不保證這些名稱形成連續的整數集合;但是,保證回傳的名稱在呼叫 gl:genVertexArrays/1 之前都未使用。

gl:getActiveAttrib/3 回傳由 Program 指定的程式物件中活動屬性變數的相關資訊。可以透過呼叫 gl:getProgram() 並使用值 ?GL_ACTIVE_ATTRIBUTES 來取得活動屬性的數量。Index 的值為 0 會選取第一個活動屬性變數。Index 的允許值範圍從零到活動屬性變數的數量減一。

gl:getActiveSubroutineName/4Program 中指定的程式物件查詢活動的著色器副程式統一變數的名稱。Index 指定由 Stage 給定的著色器階段中的著色器副程式統一變數的索引,且必須介於零和著色器階段的 ?GL_ACTIVE_SUBROUTINES 值減一之間。

gl:getActiveSubroutineUniformName/4 擷取活動的著色器副程式統一變數的名稱。Program 包含包含統一變數的程式名稱。Shadertype 指定 Index 給定的統一變數位置有效的階段。Index 必須介於零和著色器階段的 ?GL_ACTIVE_SUBROUTINE_UNIFORMS 值減一之間。

gl:getActiveUniform/3 回傳由 Program 指定的程式物件中活動統一變數的相關資訊。可以透過呼叫 gl:getProgram() 並使用值 ?GL_ACTIVE_UNIFORMS 來取得活動統一變數的數量。Index 的值為 0 會選取第一個活動統一變數。Index 的允許值範圍從零到活動統一變數的數量減一。

gl:getActiveUniformBlockiv/4 擷取關於 Program 內的活動統一區塊的相關資訊。

gl:getActiveUniformBlockName/3 擷取位於 ProgramUniformBlockIndex 的活動統一區塊的名稱。

gl:getActiveUniformName/3 回傳位於 ProgramUniformIndex 的活動統一變數的名稱。如果 UniformName 不是 NULL,則最多會將 BufSize 個字元(包含 null 終止符)寫入到由 UniformName 指定的位址的陣列中。如果 Length 不是 NULL,則會將寫入(或將會寫入)UniformName 的字元數(不包含 null 終止符)放置在 Length 中指定的位址的變數中。如果 Length 為 NULL,則不會回傳長度。Program 中最長統一變數名稱的長度由 ?GL_ACTIVE_UNIFORM_MAX_LENGTH 的值給定,可以使用 gl:getProgram() 進行查詢。

gl:getActiveUniformsiv/3 查詢名稱為 Pname 的參數的值,適用於 Program 內索引於 UniformIndicesUniformCount 個無符號整數陣列中指定的每個統一變數。成功後,每個統一變數的參數值會寫入到位址於 Params 中指定的陣列中的對應項目。如果產生錯誤,則不會將任何內容寫入 Params

gl:getAttachedShaders/2 回傳附加到 Program 的著色器物件的名稱。附加到 Program 的著色器物件的名稱將會回傳至 ShadersShaders 中實際寫入的著色器名稱數量會回傳至 Count。如果沒有著色器物件附加到 Program,則 Count 會設為 0。可以在 Shaders 中回傳的最大著色器名稱數量由 MaxCount 指定。

gl:getAttribLocation/2 查詢先前由 Program 指定的連結程式物件中由 Name 指定的屬性變數,並回傳綁定至該屬性變數的通用頂點屬性的索引。如果 Name 是矩陣屬性變數,則會回傳矩陣第一列的索引。如果指定的屬性變數不是指定程式物件中的活動屬性,或如果 Name 以保留的前綴 "gl_" 開頭,則會回傳 -1 的值。

gl:getBufferParameteriv/2Data 中回傳由 Target 指定的緩衝區物件的選取參數。

這些函數會在 Data 中回傳指定緩衝區物件的選取參數。

gl:getBufferSubData/4glGetNamedBufferSubData 會回傳指定緩衝區物件的資料儲存區的部分或全部資料內容。從位元組偏移 Offset 開始並延伸 Size 個位元組的資料會從緩衝區物件的資料儲存區複製到 Data 所指向的記憶體。如果緩衝區物件目前已對應,或如果 OffsetSize 一起定義超出緩衝區物件資料儲存區範圍的範圍,則會擲回錯誤。

gl:getClipPlane/1 會在 Equation 中回傳 Plane 的平面方程式的四個係數。

gl:getColorTable/4 會在 Table 中回傳由 Target 指定的色彩表內容。不會執行任何像素傳輸作業,但是會執行適用於 gl:readPixels/7 的像素儲存模式。

回傳特定於色彩表 Target 的參數。

gl:getCompressedTexImage/3glGetnCompressedTexImage 會將與 TargetLod 相關聯的壓縮紋理影像傳回至 Pixels 中。glGetCompressedTextureImage 的用途相同,但它會採用紋理物件的 ID,而不是紋理目標。Pixels 應該是一個大小為 BufSize 位元組的陣列,用於 glGetnCompresedTexImageglGetCompressedTextureImage 函數,而對於 gl:getCompressedTexImage/3 而言,則應該是一個大小為 ?GL_TEXTURE_COMPRESSED_IMAGE_SIZE 位元組的陣列。如果實際資料佔用的空間小於 BufSize,則剩餘的位元組將不會被觸及。Target 指定紋理目標,該函數應從綁定到該目標的紋理中提取資料。Lod 指定所需影像的細節層級編號。

gl:getConvolutionFilter/4 會將目前的 1D 或 2D 卷積濾波器核心傳回為影像。根據 FormatType 中的規範,一維或二維影像會放置在 Image 中。此影像上不會執行任何像素傳輸操作,但會套用相關的像素儲存模式。

gl:getConvolutionParameter() 檢索卷積參數。Target 決定要查詢哪個卷積濾波器。Pname 決定要傳回哪個參數。

gl:getDebugMessageLog/2 從偵錯訊息記錄中檢索訊息。從記錄中檢索最多 Count 個訊息。如果 Sources 不是 NULL,則每個訊息的來源會寫入到陣列中最多 Count 個元素。如果 Types 不是 NULL,則每個訊息的類型會寫入到陣列中最多 Count 個元素。如果 Id 不是 NULL,則每個訊息的識別碼會寫入到陣列中最多 Count 個元素。如果 Severities 不是 NULL,則每個訊息的嚴重性會寫入到陣列中最多 Count 個元素。如果 Lengths 不是 NULL,則每個訊息的長度會寫入到陣列中最多 Count 個元素。

gl:getError/0 會傳回錯誤旗標的值。每個可偵測的錯誤都會被指派一個數值代碼和符號名稱。當發生錯誤時,錯誤旗標會設定為適當的錯誤代碼值。在呼叫 gl:getError/0 之前,不會記錄其他錯誤,錯誤代碼會被傳回,且旗標會重設為 ?GL_NO_ERROR。如果呼叫 gl:getError/0 會傳回 ?GL_NO_ERROR,則表示自上次呼叫 gl:getError/0 或自 GL 初始化以來,沒有發生可偵測的錯誤。

gl:getFragDataIndex/2 會傳回當程式物件 Program 最後一次連結時,變數 Name 所綁定的片段顏色的索引。如果 Name 不是 Program 的變數輸出,或是發生錯誤,則會傳回 -1。

gl:getFragDataLocation/2 檢索程式 Program 的使用者定義的變數輸出變數 Name 的指定色彩編號綁定。Program 必須先前已連結。Name 必須是以 null 結尾的字串。如果 Name 不是 Program 內使用中的使用者定義變數輸出片段著色器變數的名稱,則會傳回 -1。

gl:getFramebufferAttachmentParameteriv/3glGetNamedFramebufferAttachmentParameteriv 會傳回指定幀緩衝區物件附件的參數。

gl:getFramebufferParameteriv/2glGetNamedFramebufferParameteriv 會查詢指定幀緩衝區物件的參數。

某些事件可能會導致 GL 內容重設。此類重設會導致所有內容狀態遺失,並要求應用程式在受影響的內容中重新建立所有物件。

gl:getHistogram/5 會將目前的長條圖表傳回為一維影像,其寬度與長條圖相同。此影像上不會執行任何像素傳輸操作,但會遵循適用於 1D 影像的像素儲存模式。

gl:getHistogramParameter() 用於查詢目前長條圖或 Proxy 的參數值。長條圖狀態資訊可以透過呼叫 gl:getHistogramParameter() 並使用 Target?GL_HISTOGRAM (以取得目前長條圖表的資訊) 或 ?GL_PROXY_HISTOGRAM (以取得來自最近 Proxy 要求的資訊) 和 Pname 引數的下列其中一個值來查詢

這些命令會傳回 GL 中簡單狀態變數的值。Pname 是一個符號常數,表示要傳回的狀態變數,而 Data 是一個指向指定類型陣列的指標,用於放置傳回的資料。

gl:getLight() 會在 Params 中傳回光源參數的值。 Light 會命名光源,並且是 ?GL_LIGHT i 形式的符號名稱,其中 i 的範圍從 0 到 ?GL_MAX_LIGHTS - 1 的值。?GL_MAX_LIGHTS 是一個實作相依的常數,大於或等於 8。 Pname 會透過符號名稱指定十個光源參數之一。

glMap1glMap2 定義求值器。gl:getMap() 會傳回求值器參數。Target 會選擇一個對應,Query 會選擇一個特定的參數,而 V 會指向儲存將傳回值的儲存區。

gl:getMaterial() 會在 Params 中傳回材質 Face 的參數 Pname 的值。定義了六個參數

gl:getMinmax/5 會傳回累積的最小和最大像素值 (以每個元件為基礎計算),在寬度為 2 的一維影像中。第一組傳回值是最小值,而第二組傳回值是最大值。傳回值的格式由 Format 決定,而其類型則由 Types 決定。

gl:getMinmaxParameter() 會透過將 Pname 設定為下列其中一個值來檢索目前最小最大值表的參數

gl:getMultisamplefv/2 會查詢指定樣本的位置。Pname 會指定要檢索的樣本參數,且必須是 ?GL_SAMPLE_POSITIONIndex 對應於應傳回位置的樣本。樣本位置會以 Val[0]Val[1] 中的兩個浮點數值傳回,每個值都在 0 到 1 之間,分別對應於該樣本在 GL 像素空間中的 XY 位置。(0.5, 0.5) 這對應於像素中心。Index 必須介於 0 到 ?GL_SAMPLES 減 1 的值之間。

請參閱 gl:pixelMap() 參考頁面,以取得 Map 參數的可接受值說明。gl:getPixelMap() 會在 Data 中傳回 Map 中指定的像素對應的內容。像素對應在執行 gl:readPixels/7gl:drawPixels/5gl:copyPixels/5gl:texImage1D/8gl:texImage2D/9gl:texImage3D/10gl:texSubImage1D/7gl:texSubImage2D/9gl:texSubImage3D/11gl:copyTexImage1D/7gl:copyTexImage2D/8gl:copyTexSubImage1D/6gl:copyTexSubImage2D/8gl:copyTexSubImage3D/9 時使用,以將色彩索引、樣板索引、色彩元件和深度元件對應到其他值。

gl:getPolygonStipple/0 會將 32×32 多邊形點畫圖案傳回至 Pattern。圖案會像呼叫 gl:readPixels/7,且 heightwidth 均為 32,type?GL_BITMAP,而 format?GL_COLOR_INDEX,且點畫圖案儲存在內部 32×32 色彩索引緩衝區中一樣,將圖案封裝到記憶體中。然而,與 gl:readPixels/7 不同的是,像素傳輸操作 (位移、偏移、像素對應) 不會套用至傳回的點畫影像。

gl:getProgramBinary/2 會將 Program 已編譯和連結的可執行檔的二進位表示法傳回至位元組陣列,其位址在 Binary 中指定。Binary 中可寫入的最大位元組數由 BufSize 指定。如果程式二進位的大小大於 BufSize 位元組,則會產生錯誤,否則寫入 Binary 的實際位元組數會傳回至位址由 Length 給定的變數。如果 Length?NULL,則不會傳回任何長度。

gl:getProgramInfoLog/2 會傳回指定程式物件的資訊記錄。當程式物件連結或驗證時,會修改程式物件的資訊記錄。傳回的字串將以 null 結尾。

gl:getProgramInterfaceiv/3 查詢由 Program 中的 ProgramInterface 所識別的介面屬性,其屬性名稱由 Pname 給定。

gl:getProgram()Params 中傳回特定程式物件的參數值。定義了以下參數

gl:getProgramPipelineInfoLog/2 擷取程式管線物件 Pipeline 的資訊日誌。資訊日誌,包括其空終止符,會寫入位址由 InfoLog 給定的字元陣列中。InfoLog 中可寫入的最大字元數由 BufSize 給定,而寫入 InfoLog 的實際字元數會傳回在位址由 Length 給定的整數中。如果 Length?NULL,則不會傳回長度。

gl:getProgramPipelineiv/2 擷取程式管線物件 Pipeline 的屬性值。Pname 指定要擷取其值的參數名稱。參數的值會寫入位址由 Params 給定的變數。

gl:getProgramResourceIndex/3 傳回指派給程式物件 Program 的介面類型 ProgramInterface 中名為 Name 的資源的無符號整數索引。

gl:getProgramResourceLocation/3 傳回指派給程式物件 Program 的介面 ProgramInterface 中名為 Name 的變數的位置。Program 必須是已成功連結的程式的名稱。ProgramInterface 必須是 ?GL_UNIFORM?GL_PROGRAM_INPUT?GL_PROGRAM_OUTPUT?GL_VERTEX_SUBROUTINE_UNIFORM?GL_TESS_CONTROL_SUBROUTINE_UNIFORM?GL_TESS_EVALUATION_SUBROUTINE_UNIFORM?GL_GEOMETRY_SUBROUTINE_UNIFORM?GL_FRAGMENT_SUBROUTINE_UNIFORM?GL_COMPUTE_SUBROUTINE_UNIFORM?GL_TRANSFORM_FEEDBACK_BUFFER 其中之一。

gl:getProgramResourceLocationIndex/3 傳回指派給程式物件 Program 的介面 ProgramInterface 中名為 Name 的變數的片段顏色索引。Program 必須是已成功連結的程式的名稱。ProgramInterface 必須是 ?GL_PROGRAM_OUTPUT

gl:getProgramResourceName/4 擷取指派給程式物件 Program 的介面 ProgramInterface 中索引為 Index 的單一作用中資源的名稱字串。Index 必須小於 ProgramInterface 的作用中資源列表中的項目數。

gl:getProgramStage() 查詢附加到程式物件的著色器階段的參數。Program 包含附加著色器的程式名稱。Shadertype 指定要從中查詢參數的階段。Pname 指定應查詢哪個參數。要查詢的參數值會傳回在位址由 Values 給定的變數中。

gl:getQueryIndexediv/3Params 中傳回由 TargetIndex 指定的索引查詢物件目標的選定參數。Index 指定查詢物件目標的索引,且必須介於零和目標特定的最大值之間。

gl:getQueryiv/2Params 中傳回由 Target 指定的查詢物件目標的選定參數。

這些命令傳回由 Id 指定的查詢物件的選定參數。gl:getQueryObject()Params 中傳回由 Id 指定的查詢物件的選定參數。gl:getQueryBufferObject() 透過將其寫入 Buffer 的資料儲存區中,以由 Offset 指定的位元組偏移量,傳回由 Id 指定的查詢物件的選定參數。

gl:getRenderbufferParameteriv/2glGetNamedRenderbufferParameteriv 查詢指定的渲染緩衝區物件的參數。

gl:getSamplerParameter()Params 中傳回指定為 Pname 的取樣器參數值。Sampler 定義目標取樣器,且必須是現有取樣器物件的名稱,從先前呼叫 gl:genSamplers/1 傳回。Pname 接受與 gl:samplerParameter() 相同的符號,具有相同的解釋。

gl:getShaderInfoLog/2 傳回指定著色器物件的資訊日誌。當編譯著色器時,會修改著色器物件的資訊日誌。傳回的字串將會以空字元結尾。

gl:getShader()Params 中傳回特定著色器物件的參數值。定義了以下參數

gl:getShaderPrecisionFormat/2 擷取在指定著色器類型中,以不同數值格式表示數量的實作數值範圍和精確度。ShaderType 指定要擷取其數值精確度和範圍的著色器類型,且必須是 ?GL_VERTEX_SHADER?GL_FRAGMENT_SHADER 其中之一。PrecisionType 指定要查詢的數值格式,且必須是 ?GL_LOW_FLOAT?GL_MEDIUM_FLOAT``?GL_HIGH_FLOAT?GL_LOW_INT?GL_MEDIUM_INT?GL_HIGH_INT 其中之一。

gl:getShaderSource/2 傳回由 Shader 指定的著色器物件的原始碼字串串聯。著色器物件的原始碼字串是先前呼叫 gl:shaderSource/2 的結果。此函式傳回的字串將會以空字元結尾。

gl:getString/1 傳回指向描述目前 GL 連線某些方面的靜態字串的指標。Name 可以是以下其中之一

gl:getSubroutineIndex/3 傳回附加到程式物件的著色器階段中的子程式一致變數的索引。Program 包含附加著色器的程式名稱。Shadertype 指定要從中查詢著色器子程式索引的階段。Name 包含要查詢其名稱的子程式一致變數的空終止名稱。

gl:getSubroutineUniformLocation/3 傳回附加到 Program 的類型為 Shadertype 的著色器階段中子程式一致變數 Name 的位置,其行為與 gl:getUniformLocation/2 相同。

gl:getSynciv/3 擷取同步物件的屬性。Sync 指定要擷取其屬性的同步物件的名稱。

gl:getTexEnv()Params 中傳回使用 gl:texEnv() 指定的紋理環境的選定值。Target 指定紋理環境。

gl:getTexGen()Params 中傳回使用 gl:texGen() 指定的紋理座標產生函式的選定參數。Coord 使用符號常數 ?GL_S?GL_T?GL_R?GL_Q,命名其中一個 (strq) 紋理座標。

gl:getTexImage/5glGetnTexImageglGetTextureImage 函式會將紋理影像回傳到 Pixels 中。對於 gl:getTexImage/5glGetnTexImageTarget 指定所需的紋理影像是由 gl:texImage1D/8 (?GL_TEXTURE_1D)、gl:texImage2D/9 (?GL_TEXTURE_1D_ARRAY?GL_TEXTURE_RECTANGLE?GL_TEXTURE_2D 或任何 ?GL_TEXTURE_CUBE_MAP_*) 或 gl:texImage3D/10 (?GL_TEXTURE_2D_ARRAY?GL_TEXTURE_3D?GL_TEXTURE_CUBE_MAP_ARRAY) 所指定。對於 glGetTextureImageTexture 指定紋理物件名稱。除了 gl:getTexImage/5glGetnTexImage 接受的紋理類型外,此函式也接受立方體貼圖紋理物件 (具有有效目標 ?GL_TEXTURE_CUBE_MAP)。Level 指定所需影像的詳細層級編號。FormatType 指定所需影像陣列的格式和類型。請參閱 gl:texImage1D/8 的參考頁面,以了解 FormatType 參數的可接受值。對於 glGetnTexImage 和 glGetTextureImage 函式,bufSize 會告知接收擷取像素資料的緩衝區大小。glGetnTexImageglGetTextureImage 不會將超過 BufSize 個位元組寫入到 Pixels 中。

gl:getTexLevelParameterfv/3gl:getTexLevelParameteriv/3glGetTextureLevelParameterfvglGetTextureLevelParameteriv 會在 Params 中回傳特定詳細層級值 (指定為 Level) 的紋理參數值。對於前兩個函式,Target 定義目標紋理,其為 ?GL_TEXTURE_1D?GL_TEXTURE_2D?GL_TEXTURE_3D?GL_PROXY_TEXTURE_1D?GL_PROXY_TEXTURE_2D?GL_PROXY_TEXTURE_3D?GL_TEXTURE_CUBE_MAP_POSITIVE_X?GL_TEXTURE_CUBE_MAP_NEGATIVE_X?GL_TEXTURE_CUBE_MAP_POSITIVE_Y?GL_TEXTURE_CUBE_MAP_NEGATIVE_Y?GL_TEXTURE_CUBE_MAP_POSITIVE_Z?GL_TEXTURE_CUBE_MAP_NEGATIVE_Z?GL_PROXY_TEXTURE_CUBE_MAP。剩餘的兩個函式會採用 Texture 引數,該引數指定紋理物件的名稱。

gl:getTexParameter()glGetTextureParameter 會在 Params 中回傳指定為 Pname 的紋理參數的值。 Target 定義目標紋理。?GL_TEXTURE_1D?GL_TEXTURE_2D?GL_TEXTURE_3D?GL_TEXTURE_1D_ARRAY?GL_TEXTURE_2D_ARRAY?GL_TEXTURE_RECTANGLE?GL_TEXTURE_CUBE_MAP?GL_TEXTURE_CUBE_MAP_ARRAY?GL_TEXTURE_2D_MULTISAMPLE?GL_TEXTURE_2D_MULTISAMPLE_ARRAY 分別指定一維、二維或三維、一維陣列、二維陣列、矩形、立方體貼圖或立方體貼圖陣列、二維多重採樣或二維多重採樣陣列紋理。Pname 接受與 gl:texParameter() 相同的符號,並具有相同的解譯。

可以透過呼叫 gl:getTransformFeedbackVarying/3 來擷取有關連結程式中將在轉換回饋期間擷取的 varying 變數集資訊。gl:getTransformFeedbackVarying/3 提供有關由 Index 選取的 varying 變數的資訊。 Index 為 0 會選取傳遞至 gl:transformFeedbackVaryings/3Varyings 陣列中所指定的第一個 varying 變數,而 Index 的值為 ?GL_TRANSFORM_FEEDBACK_VARYINGS 減一則會選取最後一個這類變數。

gl:getUniformBlockIndex/2 會擷取 Program 內均勻區塊的索引。

gl:getUniformIndices/2 會擷取 Program 內多個均勻變數的索引。

glGetUniformLocation 會回傳一個整數,該整數代表程式物件內特定均勻變數的位置。Name 必須是以 null 終止且不包含空白字元的字串。Name 必須是 Program 中不是結構、結構陣列或向量或矩陣子元件的活動均勻變數名稱。如果 Name 沒有對應於 Program 中的活動均勻變數、如果 Name 以保留字首 "gl_" 開頭,或如果 Name 與原子計數器或具名均勻區塊相關聯,則此函式會回傳 -1。

gl:getUniformSubroutine() 會擷取目前程式的著色器階段 Shadertype 的位置 Location 中副程式均勻變數的值。 Location 必須小於目前在著色器階段 Shadertype 使用的著色器的 ?GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 值。副程式均勻變數的值會在 Values 中回傳。

gl:getUniform()glGetnUniform 會在 Params 中回傳指定均勻變數的值。由 Location 指定的均勻變數類型決定回傳的值數。如果均勻變數在著色器中定義為布林值、整數或浮點數,則會回傳單一值。如果定義為 vec2、ivec2 或 bvec2,則會回傳兩個值。如果定義為 vec3、ivec3 或 bvec3,則會回傳三個值,依此類推。若要查詢儲存在宣告為陣列的均勻變數中的值,請針對陣列的每個元素呼叫 gl:getUniform()。若要查詢儲存在宣告為結構的均勻變數中的值,請針對結構中的每個欄位呼叫 gl:getUniform()。宣告為矩陣的均勻變數的值會以欄主序回傳。

gl:getVertexAttrib() 會在 Params 中回傳一般頂點屬性參數的值。要查詢的一般頂點屬性是由 Index 指定,而要查詢的參數是由 Pname 指定。

在有解譯空間時,GL 行為的某些方面可以使用提示來控制。提示會以兩個引數指定。 Target 是一個符號常數,指示要控制的行為,而 Mode 是另一個符號常數,指示所需的行為。每個 Target 的初始值為 ?GL_DONT_CAREMode 可以是下列其中之一

當啟用 ?GL_HISTOGRAM 時,RGBA 顏色元件會透過限制在 [0,1] 範圍、乘以直方圖表格的寬度,並四捨五入到最接近的整數來轉換為直方圖表格索引。然後,會遞增由 RGBA 索引選取的表格項目。(如果直方圖表格的內部格式包含亮度,則從 R 顏色元件衍生的索引會決定要遞增的亮度表格項目。)如果直方圖表格項目的遞增值超過其最大值,則其值會變成未定義。(這不是錯誤。)

等同於 indexubv/1

等同於 indexubv/1

等同於 indexubv/1

等同於 indexubv/1

等同於 indexubv/1

等同於 indexubv/1

gl:indexMask/1 控制顏色索引緩衝區中個別位元的寫入。Mask 的最低有效位 n 位 (其中 n 是顏色索引緩衝區中的位元數) 會指定遮罩。當遮罩中出現 1 (一) 時,就可以寫入顏色索引緩衝區 (或多個緩衝區) 中的對應位元。當出現 0 (零) 時,對應的位元會受到寫入保護。

gl:indexPointer/3 指定要轉譯時所使用的顏色索引陣列的位置和資料格式。Type 指定每個顏色索引的資料類型,而 Stride 指定從一個顏色索引到下一個顏色索引的位元組跨距,允許將頂點和屬性封裝到單一陣列中或儲存在個別陣列中。

等同於 indexubv/1

等同於 indexubv/1

等同於 indexubv/1

gl:index() 更新目前的(單一值)顏色索引。它接受一個參數,即目前顏色索引的新值。

名稱堆疊在選取模式期間使用,以允許唯一識別渲染命令的集合。它由一組已排序的無符號整數組成。gl:initNames/0 會將名稱堆疊初始化為其預設的空狀態。

gl:interleavedArrays/3 允許您指定並啟用個別的顏色、法線、紋理和頂點陣列,其元素是較大聚合陣列元素的一部分。對於某些實作,這比單獨指定陣列更有效率。

gl:invalidateBufferData/1 使緩衝區物件的資料儲存區的所有內容失效。失效後,緩衝區資料儲存區的內容會變成未定義。

gl:invalidateBufferSubData/3 使緩衝區物件的資料儲存區的全部或部分內容失效。失效後,緩衝區資料儲存區指定範圍的內容會變成未定義。範圍的起始位置由 Offset 給定,其大小由 Length 給定,兩者均以基本機器單位測量。

gl:invalidateFramebuffer/2glInvalidateNamedFramebufferData 使影格緩衝區指定的一組附件的全部內容失效。

gl:invalidateSubFramebuffer/6glInvalidateNamedFramebufferSubData 使影格緩衝區指定的一組附件的指定區域的內容失效。

gl:invalidateTexSubImage/8 使整個紋理影像失效。TextureLevel 指示要失效的紋理影像。此命令之後,紋理影像中的資料具有未定義的值。

gl:invalidateTexSubImage/8 使紋理影像的全部或部分失效。TextureLevel 指示要失效的紋理影像。此命令之後,該子區域中的資料具有未定義的值。XoffsetYoffsetZoffsetWidthHeightDepth 的解讀方式與 gl:texSubImage3D/11 中相同。對於不具有特定維度的紋理目標,此命令會將這些維度視為大小為 1。例如,若要使二維紋理的一部分失效,應用程式會使用等於零的 Zoffset 和等於一的 Depth。立方體貼圖紋理會被視為 z 維度中的六個切片的陣列,其中 Zoffset 的值會被解讀為指定面 ?GL_TEXTURE_CUBE_MAP_POSITIVE_X + Zoffset

如果 Buffer 目前是緩衝區物件的名稱,gl:isBuffer/1 會傳回 ?GL_TRUE。如果 Buffer 為零,或是一個非零值,但目前不是緩衝區物件的名稱,或是發生錯誤,gl:isBuffer/1 會傳回 ?GL_FALSE

如果 Cap 是一個已啟用的功能,gl:isEnabled/1 會傳回 ?GL_TRUE,否則會傳回 ?GL_FALSE。可以使用 gl:isEnabledi/2 測試已建立索引的布林狀態。對於 gl:isEnabledi/2Index 指定要測試的功能索引。Index 必須介於零和 Cap 的已建立索引的功能計數之間。一開始,除了 ?GL_DITHER 之外的所有功能都會停用;?GL_DITHER 一開始會啟用。

如果 Framebuffer 目前是影格緩衝區物件的名稱,gl:isFramebuffer/1 會傳回 ?GL_TRUE。如果 Framebuffer 為零,或如果 ?framebuffer 不是影格緩衝區物件的名稱,或是發生錯誤,gl:isFramebuffer/1 會傳回 ?GL_FALSE。如果 Framebuffer 是由 gl:genFramebuffers/1 傳回的名稱,但尚未透過呼叫 gl:bindFramebuffer/2 來繫結,則該名稱不是影格緩衝區物件,而 gl:isFramebuffer/1 會傳回 ?GL_FALSE

如果 List 是顯示清單的名稱,gl:isList/1 會傳回 ?GL_TRUE,如果不是,或是發生錯誤,則會傳回 ?GL_FALSE

如果 Program 是先前使用 gl:createProgram/0 建立且尚未透過 gl:deleteProgram/1 刪除的程式物件名稱,gl:isProgram/1 會傳回 ?GL_TRUE。如果 Program 為零或是一個非零值,但不是程式物件的名稱,或是發生錯誤,gl:isProgram/1 會傳回 ?GL_FALSE

如果 Pipeline 目前是程式管線物件的名稱,gl:isProgramPipeline/1 會傳回 ?GL_TRUE。如果 Pipeline 為零,或如果 ?pipeline 不是程式管線物件的名稱,或是發生錯誤,gl:isProgramPipeline/1 會傳回 ?GL_FALSE。如果 Pipeline 是由 gl:genProgramPipelines/1 傳回的名稱,但尚未透過呼叫 gl:bindProgramPipeline/1 來繫結,則該名稱不是程式管線物件,而 gl:isProgramPipeline/1 會傳回 ?GL_FALSE

如果 Id 目前是查詢物件的名稱,gl:isQuery/1 會傳回 ?GL_TRUE。如果 Id 為零,或是一個非零值,但目前不是查詢物件的名稱,或是發生錯誤,gl:isQuery/1 會傳回 ?GL_FALSE

如果 Renderbuffer 目前是渲染緩衝區物件的名稱,gl:isRenderbuffer/1 會傳回 ?GL_TRUE。如果 Renderbuffer 為零,或如果 Renderbuffer 不是渲染緩衝區物件的名稱,或是發生錯誤,gl:isRenderbuffer/1 會傳回 ?GL_FALSE。如果 Renderbuffer 是由 gl:genRenderbuffers/1 傳回的名稱,但尚未透過呼叫 gl:bindRenderbuffer/2gl:framebufferRenderbuffer/4 來繫結,則該名稱不是渲染緩衝區物件,而 gl:isRenderbuffer/1 會傳回 ?GL_FALSE

如果 Id 目前是取樣器物件的名稱,gl:isSampler/1 會傳回 ?GL_TRUE。如果 Id 為零,或是一個非零值,但目前不是取樣器物件的名稱,或是發生錯誤,gl:isSampler/1 會傳回 ?GL_FALSE

如果 Shader 是先前使用 gl:createShader/1 建立且尚未透過 gl:deleteShader/1 刪除的著色器物件名稱,gl:isShader/1 會傳回 ?GL_TRUE。如果 Shader 為零或是一個非零值,但不是著色器物件的名稱,或是發生錯誤,glIsShader 會傳回 ?GL_FALSE

如果 Sync 目前是同步物件的名稱,gl:isSync/1 會傳回 ?GL_TRUE。如果 Sync 不是同步物件的名稱,或是發生錯誤,gl:isSync/1 會傳回 ?GL_FALSE。請注意,零不是同步物件的名稱。

如果 Texture 目前是紋理的名稱,gl:isTexture/1 會傳回 ?GL_TRUE。如果 Texture 為零,或是一個非零值,但目前不是紋理的名稱,或是發生錯誤,gl:isTexture/1 會傳回 ?GL_FALSE

如果 Id 目前是轉換回饋物件的名稱,gl:isTransformFeedback/1 會傳回 ?GL_TRUE。如果 Id 為零,或如果 ?id 不是轉換回饋物件的名稱,或是發生錯誤,gl:isTransformFeedback/1 會傳回 ?GL_FALSE。如果 Id 是由 gl:genTransformFeedbacks/1 傳回的名稱,但尚未透過呼叫 gl:bindTransformFeedback/2 來繫結,則該名稱不是轉換回饋物件,而 gl:isTransformFeedback/1 會傳回 ?GL_FALSE

如果 Array 目前是頂點陣列物件的名稱,gl:isVertexArray/1 會傳回 ?GL_TRUE。如果 Array 為零,或如果 Array 不是頂點陣列物件的名稱,或是發生錯誤,gl:isVertexArray/1 會傳回 ?GL_FALSE。如果 Array 是由 gl:genVertexArrays/1 傳回的名稱,但尚未透過呼叫 gl:bindVertexArray/1 來繫結,則該名稱不是頂點陣列物件,而 gl:isVertexArray/1 會傳回 ?GL_FALSE

gl:light() 設定個別光源參數的值。Light 會命名光源,並且是 ?GL_LIGHT i 形式的符號名稱,其中 i 的範圍從 0 到 ?GL_MAX_LIGHTS - 1 的值。Pname 會再次使用符號名稱指定十個光源參數之一。Params 是單一值或包含新值的陣列指標。

gl:lightModel() 設定光照模型參數。Pname 指定參數名稱,而 Params 提供新的值。光照模型參數共有三個:

線段虛線化會遮蔽光柵化產生的某些片段;這些片段將不會被繪製。遮蔽是透過使用三個參數來實現的:16 位元的線段虛線模式 Pattern、重複次數 Factor 和整數虛線計數器 s。

gl:lineWidth/1 指定反鋸齒和非反鋸齒線段的光柵化寬度。使用寬度非 1 的線段,會根據是否啟用線段反鋸齒而有不同的效果。若要啟用和停用線段反鋸齒,請使用 ?GL_LINE_SMOOTH 參數呼叫 gl:enable/1gl:disable/1。線段反鋸齒預設為停用。

gl:linkProgram/1 連結由 Program 指定的程式物件。如果任何類型為 ?GL_VERTEX_SHADER 的著色器物件附加到 Program,它們將用於建立在可編程頂點處理器上執行的可執行檔。如果任何類型為 ?GL_GEOMETRY_SHADER 的著色器物件附加到 Program,它們將用於建立在可編程幾何處理器上執行的可執行檔。如果任何類型為 ?GL_FRAGMENT_SHADER 的著色器物件附加到 Program,它們將用於建立在可編程片段處理器上執行的可執行檔。

gl:callLists/1 指定一組偏移量陣列。顯示列表名稱是透過將 Base 加到每個偏移量來產生的。參考有效顯示列表的名稱會被執行;其他名稱則會被忽略。

gl:loadIdentity/0 使用單位矩陣取代目前的矩陣。這在語義上等同於使用單位矩陣呼叫 gl:loadMatrix()

gl:loadMatrix() 使用由 M 指定其元素的矩陣取代目前的矩陣。目前的矩陣是投影矩陣、模型視圖矩陣或紋理矩陣,取決於目前的矩陣模式(請參閱 gl:matrixMode/1)。

名稱堆疊用於選取模式,以允許唯一識別一組渲染指令。它由一組有序的無符號整數組成,且初始為空。

gl:loadTransposeMatrix() 使用由 M 指定其元素的矩陣取代目前的矩陣。目前的矩陣是投影矩陣、模型視圖矩陣或紋理矩陣,取決於目前的矩陣模式(請參閱 gl:matrixMode/1)。

gl:logicOp/1 指定一個邏輯運算,當啟用時,該運算會應用於傳入的 RGBA 顏色和幀緩衝區中對應位置的 RGBA 顏色之間。若要啟用或停用邏輯運算,請使用符號常數 ?GL_COLOR_LOGIC_OP 呼叫 gl:enable/1gl:disable/1。初始值為停用。

評估器提供了一種方法,可以使用多項式或有理多項式映射來產生頂點、法線、紋理座標和顏色。評估器產生的值會被發送到 GL 處理的後續階段,就像它們是使用 gl:vertex()gl:normal()gl:texCoord()gl:color() 命令呈現的一樣,但產生的值不會更新目前的法線、紋理座標或顏色。

評估器提供了一種方法,可以使用多項式或有理多項式映射來產生頂點、法線、紋理座標和顏色。評估器產生的值會被發送到 GL 處理的後續階段,就像它們是使用 gl:vertex()gl:normal()gl:texCoord()gl:color() 命令呈現的一樣,但產生的值不會更新目前的法線、紋理座標或顏色。

gl:mapGrid()gl:evalMesh() 一起使用,以有效產生和評估一系列均勻間隔的映射域值。gl:evalMesh() 會逐步執行一維或二維格子的整數域,其範圍是由 glMap1glMap2 指定的評估映射域。

gl:material() 將值指派給材質參數。材質參數有兩組匹配的集合。其中一組是 front-facing 集合,用於為點、線段、點陣圖和所有多邊形(當停用雙面光照時)或僅為正面多邊形(當啟用雙面光照時)著色。另一組 back-facing 僅用於在啟用雙面光照時為背面多邊形著色。有關單面和雙面光照計算的詳細資訊,請參閱 gl:lightModel() 參考頁面。

gl:matrixMode/1 設定目前的矩陣模式。Mode 可以採用四個值之一:

gl:memoryBarrier/1 定義一個屏障,排序在命令之前發出的記憶體交易相對於屏障之後發出的記憶體交易。就此排序而言,著色器執行的記憶體交易被視為由觸發著色器執行的渲染命令發出。Barriers 是一個位欄位,指示與著色器儲存同步的一組操作;Barriers 中使用的位元如下:

當啟用 ?GL_MINMAX 時,傳入像素的 RGBA 元件會與每個元件的最小值和最大值進行比較,這些值儲存在雙元素 minmax 表中。(第一個元素儲存最小值,第二個元素儲存最大值。)如果像素元件大於最大元素中對應的元件,則會使用像素元件值更新最大元素。如果像素元件小於最小元素中對應的元件,則會使用像素元件值更新最小元素。(在這兩種情況下,如果 minmax 表的內部格式包含亮度,則傳入像素的 R 顏色元件將用於比較。)minmax 表的內容可以在稍後透過呼叫 gl:getMinmax/5 來擷取。minmax 操作可透過分別使用 ?GL_MINMAX 參數呼叫 gl:enable/1gl:disable/1 來啟用或停用。

gl:minSampleShading/1 指定在覆蓋像素內對樣本進行著色的速率。透過使用參數 ?GL_SAMPLE_SHADING 呼叫 gl:enable/1 來啟用樣本速率著色。如果停用 ?GL_MULTISAMPLE?GL_SAMPLE_SHADING,則樣本著色無效。否則,實作必須為每個覆蓋的片段提供至少與 Value 乘以 Samples 指定的唯一顏色值一樣多的數量,其中 Samples 是目前幀緩衝區的 ?GL_SAMPLES 值。每個覆蓋的片段至少會產生 1 個樣本。

gl:multiDrawArrays/3 使用非常少的子程序呼叫指定多組幾何圖元。您可以預先指定頂點、法線和顏色的獨立陣列,而不是呼叫 GL 程序來傳遞每個個別的頂點、法線、紋理座標、邊緣標誌或顏色,並且可以使用它們,透過單次呼叫 gl:multiDrawArrays/3 來建構一系列圖元。

gl:multiDrawArraysIndirect/4 使用非常少的子程序呼叫指定多個幾何圖元。gl:multiDrawArraysIndirect/4 的行為類似於多次呼叫 gl:drawArraysInstancedBaseInstance/5,但每次呼叫 gl:drawArraysInstancedBaseInstance/5 的參數都儲存在記憶體中,其位址由 Indirect 給定,並以 Stride 指定的基本機器單元間隔。如果 Stride 為零,則假設陣列在記憶體中緊密封裝。

gl:multiTexCoord() 指定一維、二維、三維或四維的紋理座標。gl:multiTexCoord1() 將目前的紋理座標設為 (s 0 0 1);呼叫 gl:multiTexCoord2() 會將它們設為 (s t 0 1)。同樣地,gl:multiTexCoord3() 將紋理座標指定為 (s t r 1),而 gl:multiTexCoord4() 則明確定義所有四個分量為 (s t r q)。

gl:multMatrix() 將目前矩陣與使用 M 指定的矩陣相乘,並以乘積取代目前矩陣。

gl:multTransposeMatrix() 將目前矩陣與使用 M 指定的矩陣相乘,並以乘積取代目前矩陣。

顯示列表是已儲存供後續執行的 GL 命令群組。顯示列表是使用 gl:newList/2 建立的。所有後續命令都會依發出順序放入顯示列表中,直到呼叫 gl:endList/0 為止。

等同於 normal3sv/1

等同於 normal3sv/1

等同於 normal3sv/1

等同於 normal3sv/1

每當發出 gl:normal() 時,目前的法線會設定為給定的座標。位元組、短整數或整數引數會轉換為浮點格式,並使用線性對應,將最大的正可表示整數值對應至 1.0,將最小的負可表示整數值對應至 -1.0。

gl:normalPointer/3 指定在算繪時要使用的法線陣列的位置和資料格式。Type 指定每個法線座標的資料類型,而 Stride 指定從一個法線到下一個法線的位元組跨距,允許將頂點和屬性封裝到單一陣列中,或儲存在個別的陣列中。(在某些實作中,單一陣列儲存可能更有效率;請參閱 gl:interleavedArrays/3。)

gl:objectPtrLabel/3 為由 Ptr 識別的同步物件加上標籤。

gl:ortho/6 描述一個產生平行投影的轉換。目前矩陣(請參閱 gl:matrixMode/1)會與此矩陣相乘,且結果會取代目前矩陣,就如同使用以下矩陣作為引數呼叫 gl:multMatrix() 一樣

gl:patchParameter() 指定將用於圖塊圖元的參數。Pname 指定要修改的參數,且必須是 ?GL_PATCH_VERTICES?GL_PATCH_DEFAULT_OUTER_LEVEL?GL_PATCH_DEFAULT_INNER_LEVEL。對於 gl:patchParameteri/2Value 指定由 Pname 指定之參數的新值。對於 gl:patchParameterfv/2Values 指定包含由 Pname 指定之參數新值的陣列位址。

gl:pauseTransformFeedback/0 暫停目前作用中轉換回饋物件上的轉換回饋作業。當轉換回饋作業暫停時,轉換回饋仍視為作用中,且變更與物件相關的大部分轉換回饋狀態會導致錯誤。不過,可以在轉換回饋暫停時繫結新的轉換回饋物件。

gl:pixelMap() 設定由 gl:copyPixels/5gl:copyTexImage1D/7gl:copyTexImage2D/8gl:copyTexSubImage1D/6gl:copyTexSubImage2D/8gl:copyTexSubImage3D/9gl:drawPixels/5gl:readPixels/7gl:texImage1D/8gl:texImage2D/9gl:texImage3D/10gl:texSubImage1D/7gl:texSubImage2D/9gl:texSubImage3D/11 使用的轉換表或 map。此外,如果支援 ARB_imaging 子集,則例程 gl:colorTable/6gl:colorSubTable/6gl:convolutionFilter1D/6gl:convolutionFilter2D/7gl:histogram/4gl:minmax/3gl:separableFilter2D/8 亦受影響。這些 map 的使用方式已完整描述於 gl:pixelTransfer() 參考頁中,部分描述於像素和紋理影像命令的參考頁中。在此參考頁中僅描述 map 的規格。

gl:pixelTransfer() 設定像素傳輸模式,會影響後續 gl:copyPixels/5gl:copyTexImage1D/7gl:copyTexImage2D/8gl:copyTexSubImage1D/6gl:copyTexSubImage2D/8gl:copyTexSubImage3D/9gl:drawPixels/5gl:readPixels/7gl:texImage1D/8gl:texImage2D/9gl:texImage3D/10gl:texSubImage1D/7gl:texSubImage2D/9gl:texSubImage3D/11 命令的操作。此外,如果支援 ARB_imaging 子集,則例程 gl:colorTable/6gl:colorSubTable/6gl:convolutionFilter1D/6gl:convolutionFilter2D/7gl:histogram/4gl:minmax/3gl:separableFilter2D/8 亦受影響。由像素傳輸模式指定的演算法會在像素從影格緩衝區讀取 (gl:copyPixels/5gl:copyTexImage1D/7gl:copyTexImage2D/8gl:copyTexSubImage1D/6gl:copyTexSubImage2D/8gl:copyTexSubImage3D/9gl:readPixels/7),或從用戶端記憶體解包 (gl:drawPixels/5gl:texImage1D/8gl:texImage2D/9gl:texImage3D/10gl:texSubImage1D/7gl:texSubImage2D/9gl:texSubImage3D/11) 後才進行操作。像素傳輸作業會以相同的順序,且以相同的方式進行,無論是哪個命令導致像素作業都一樣。像素儲存模式(請參閱 gl:pixelStore())控制從用戶端記憶體讀取像素時的解包,以及將像素寫回用戶端記憶體時的封裝。

gl:pixelZoom/2 指定 x 和 y 縮放因子的值。在執行 gl:drawPixels/5gl:copyPixels/5 時,如果 (xr, yr) 是目前的點陣位置,且給定元素在像素矩形的第 m 列和第 n 行,則中心位於以下角落矩形內的像素:

下列數值可被接受為 Pname

gl:pointSize/1 指定點的點陣化直徑。如果點大小模式被禁用 (參見 gl:enable/1,參數為 ?GL_PROGRAM_POINT_SIZE),則此值將用於點陣化點。否則,將使用寫入著色語言內建變數 gl_PointSize 的值。

gl:polygonMode/2 控制多邊形用於點陣化的解譯方式。Face 描述 Mode 適用於哪些多邊形:正面和背面多邊形 (?GL_FRONT_AND_BACK)。多邊形模式僅影響多邊形的最終點陣化。特別是,多邊形的頂點在套用這些模式之前會被光照、裁剪,並可能被剔除。

當啟用 ?GL_POLYGON_OFFSET_FILL?GL_POLYGON_OFFSET_LINE?GL_POLYGON_OFFSET_POINT 時,每個片段的 depth 值會在從適當頂點的 depth 值內插後偏移。偏移值為 factor×DZ+r×units,其中 DZ 是相對於多邊形螢幕區域的深度變化量測值,而 r 是保證在給定實作中產生可解析偏移的最小值。偏移會在執行深度測試之前以及在將值寫入深度緩衝區之前加入。

沒有可用的文件。

多邊形點畫,如同線條點畫 (參見 gl:lineStipple/2),會遮蔽由點陣化產生的某些片段,以建立圖案。點畫與多邊形反鋸齒無關。

等同於 pushAttrib/1

等同於 pushMatrix/0

等同於 pushName/1

gl:primitiveRestartIndex/1 指定在啟用圖元重新啟動時特殊處理的頂點陣列元素。這被稱為圖元重新啟動索引。

gl:prioritizeTextures/2Priorities 中給定的 N 個紋理優先權指派給 Textures 中命名的 N 個紋理。

gl:programBinary/3 使用先前從 gl:getProgramBinary/2 傳回的程式二進位檔載入程式物件。BinaryFormatBinary 必須是先前呼叫 gl:getProgramBinary/2 所傳回的,而 Length 必須是 gl:getProgramBinary/2 傳回的長度,或是當 Pname 設定為 ?GL_PROGRAM_BINARY_LENGTH 時呼叫 gl:getProgram() 傳回的長度。如果未滿足這些條件,載入程式二進位檔將會失敗,且 Program?GL_LINK_STATUS 將會設定為 ?GL_FALSE

gl:programParameter() 為程式物件 Program 中由 Pname 指定的參數名稱指定新的值。

gl:programUniform() 修改統一變數或統一變數陣列的值。要修改的統一變數位置由 Location 指定,它應該是由 gl:getUniformLocation/2 傳回的值。gl:programUniform() 操作由 Program 指定的程式物件。

Flatshading 頂點著色器變動輸出意味著為圖元的全部頂點指派相同的輸出值。從中取得這些值的頂點稱為 provoking vertex,而 gl:provokingVertex/1 指定要用作平面著色變動資料來源的頂點。

gl:pushAttrib/1 接受一個引數,此引數為遮罩,指示要儲存在屬性堆疊上的狀態變數群組。符號常數用於設定遮罩中的位元。Mask 通常是藉由將數個這些常數進行位元或運算來建構。特殊遮罩 ?GL_ALL_ATTRIB_BITS 可用於儲存所有可堆疊的狀態。

gl:pushClientAttrib/1 接受一個引數,此引數為遮罩,指示要儲存在用戶端屬性堆疊上的用戶端狀態變數群組。符號常數用於設定遮罩中的位元。Mask 通常是藉由將數個這些常數進行位元或運算來建構。特殊遮罩 ?GL_CLIENT_ALL_ATTRIB_BITS 可用於儲存所有可堆疊的用戶端狀態。

gl:pushDebugGroup/4 將由字串 Message 描述的偵錯群組推送至命令串流中。Id 的值指定所產生訊息的 ID。參數 Length 包含 Message 中的字元數。如果 Length 為負數,則表示 Message 包含 Null 終止字串。訊息具有指定的 SourceIdType``?GL_DEBUG_TYPE_PUSH_GROUPSeverity``?GL_DEBUG_SEVERITY_NOTIFICATION。GL 將把新的偵錯群組放在偵錯群組堆疊的頂端,該偵錯群組繼承先前位於偵錯群組堆疊頂端的偵錯群組之偵錯輸出量的控制。由於偵錯群組是嚴格分層的,因此對偵錯輸出量的任何額外控制將僅適用於作用中的偵錯群組以及推送在作用中偵錯群組頂端的偵錯群組內。

每個矩陣模式都有一個矩陣堆疊。在 ?GL_MODELVIEW 模式中,堆疊深度至少為 32。在其他模式 ( ?GL_COLOR?GL_PROJECTION?GL_TEXTURE) 中,深度至少為 2。任何模式中的目前矩陣都是該模式堆疊頂端的矩陣。

名稱堆疊用於選取模式,以允許唯一識別一組渲染指令。它由一組有序的無符號整數組成,且初始為空。

gl:queryCounter/2 使 GL 將目前時間記錄到名為 Id 的查詢物件中。Target 必須為 ?GL_TIMESTAMP。時間會在 GL 用戶端和伺服器狀態以及影格緩衝區上所有先前的命令都完全實現之後記錄。當記錄時間時,該物件的查詢結果會被標示為可用。gl:queryCounter/2 計時器查詢可以在目標為 ?GL_TIME_ELAPSEDgl:beginQuery/2 / gl:endQuery/1 區塊內使用,而且不會影響該查詢物件的結果。

GL 維護一個在視窗座標中的 3D 位置。這個位置稱為光柵位置 (raster position),用於定位像素和點陣圖寫入操作。它以次像素精確度維護。請參閱 gl:bitmap/7gl:drawPixels/5gl:copyPixels/5

gl:readBuffer/1 指定一個顏色緩衝區作為後續 gl:readPixels/7gl:copyTexImage1D/7gl:copyTexImage2D/8gl:copyTexSubImage1D/6gl:copyTexSubImage2D/8gl:copyTexSubImage3D/9 命令的來源。模式 接受十二個或更多預定義值之一。在完全配置的系統中,?GL_FRONT?GL_LEFT?GL_FRONT_LEFT 都命名為前左緩衝區,?GL_FRONT_RIGHT?GL_RIGHT 命名為前右緩衝區,而 ?GL_BACK_LEFT?GL_BACK 命名為後左緩衝區。此外,常數 ?GL_COLOR_ATTACHMENT``i 可用於指示第 i 個顏色附件,其中 i 的範圍從零到 ?GL_MAX_COLOR_ATTACHMENTS 的值減一。

gl:readPixels/7glReadnPixels 從影格緩衝區傳回像素資料,從左下角位於 (X, Y) 位置的像素開始,放入從 資料 位置開始的客戶端記憶體中。多個參數控制像素資料在放入客戶端記憶體之前的處理。這些參數使用 gl:pixelStore() 設定。此參考頁面描述了這些三個命令指定的大部分(但不是全部)參數對 gl:readPixels/7glReadnPixels 的影響。

等效於 rectsv/2

等效於 rectsv/2

等效於 rectsv/2

gl:rect() 支援將矩形有效地指定為兩個角點。每個矩形命令接受四個參數,這些參數組織為兩個連續的 (x y) 座標對,或是指向陣列的兩個指標,每個指標都包含一個 (x y) 對。產生的矩形定義在 z=0 平面中。

gl:releaseShaderCompiler/0 向實作提供提示,使其可以釋放與其著色器編譯器相關聯的內部資源。gl:compileShader/1 隨後可能會被呼叫,而實作可能會在那時重新分配先前由呼叫 gl:releaseShaderCompiler/0 所釋放的資源。

gl:renderbufferStorage/4 等效於呼叫 gl:renderbufferStorageMultisample/5 並將 樣本 設定為零,而 glNamedRenderbufferStorage 等效於呼叫 glNamedRenderbufferStorageMultisample 並將樣本設定為零。

gl:renderbufferStorageMultisample/5glNamedRenderbufferStorageMultisample 建立渲染緩衝區物件影像的資料儲存、格式、維度和樣本數。

gl:renderMode/1 設定光柵化模式。它接受一個參數,模式,它可以採用三個預定義值之一

gl:resetHistogram/1 將目前直方圖表的所有元素重設為零。

gl:resetMinmax/1 將目前 minmax 表的元素重設為其初始值:``最大值'' 元素接收最小可能元件值,而 ``最小值'' 元素接收最大可能元件值。

gl:resumeTransformFeedback/0 在目前活動的轉換回饋物件上繼續轉換回饋操作。當轉換回饋操作暫停時,轉換回饋仍被視為處於活動狀態,並且變更與物件相關的大多數轉換回饋狀態會導致錯誤。但是,可以在暫停轉換回饋時繫結新的轉換回饋物件。

gl:rotate() 產生繞向量 (x y z) 旋轉 角度 度。目前的矩陣(請參閱 gl:matrixMode/1)乘以旋轉矩陣,乘積取代目前的矩陣,就像使用以下矩陣作為其引數呼叫 gl:multMatrix() 一樣

多重取樣以各種與實作相關的次像素位置多次取樣像素,以產生反鋸齒效果。如果啟用多重取樣,它會透明地為點、線條、多邊形和影像進行反鋸齒處理。

gl:sampleMaski/2 設定多字組樣本遮罩 ?GL_SAMPLE_MASK_VALUE 的一個 32 位元子字。

gl:samplerParameter()參數 中的值指派給指定為 Pname 的取樣器參數。取樣器 指定要修改的取樣器物件,且必須是先前從呼叫 gl:genSamplers/1 傳回的取樣器物件的名稱。Pname 中接受下列符號

等效於 scalef/3

gl:scale() 會沿 xyz 軸產生不均勻縮放。這三個參數表示沿三個軸的每一個所需的縮放比例因子。

gl:scissor/4 在視窗座標中定義一個稱為剪裁框的矩形。前兩個引數 XY 指定方塊的左下角。寬度高度 指定方塊的寬度和高度。

gl:scissorArrayv/2 為每個視埠定義在視窗座標中稱為剪裁框的矩形。第一個 指定要修改的第一個剪裁框的索引,而 計數 指定要修改的剪裁框的數量。第一個 必須小於 ?GL_MAX_VIEWPORTS 的值,而 第一個 + 計數 必須小於或等於 ?GL_MAX_VIEWPORTS 的值。V 指定一個陣列的位址,該陣列包含指定剪裁框左下角以及剪裁框寬度和高度的整數 (依該順序)。

gl:scissorIndexed/5 為指定的視埠定義剪裁框。索引 指定要修改的剪裁框的索引。索引 必須小於 ?GL_MAX_VIEWPORTS 的值。對於 gl:scissorIndexed/5寬度高度 分別指定剪裁框的左、下、寬度和高度 (以像素為單位)。對於 gl:scissorIndexedv/2V 指定一個陣列的位址,該陣列包含指定剪裁框左下角以及剪裁框寬度和高度的整數 (依該順序)。

GL 會儲存主要四值 RGBA 顏色和次要四值 RGBA 顏色 (其中 alpha 永遠設定為 0.0),這兩個顏色都與每個頂點相關聯。

gl:secondaryColorPointer/4 指定在算繪時要使用的顏色元件陣列的位置和資料格式。大小 指定每個顏色的元件數,並且必須為 3。類型 指定每個顏色元件的資料類型,而 間隔 指定從一個顏色到下一個顏色的位元組間隔,允許將頂點和屬性封裝到單一陣列中或儲存在單獨的陣列中。

gl:selectBuffer/2 有兩個引數:緩衝區 是指向不帶正負號的整數陣列的指標,而 大小 表示陣列的大小。緩衝區 在算繪模式為 ?GL_SELECT 時傳回名稱堆疊中的值(請參閱 gl:initNames/0gl:loadName/1gl:pushName/1)。(請參閱 gl:renderMode/1)。必須在啟用選擇模式之前發出 gl:selectBuffer/2,並且在算繪模式為 ?GL_SELECT 時不得發出此命令。

gl:separableFilter2D/8 從兩個像素陣列建置二維可分離捲積濾波器核心。

GL 基本圖元可以具有平面或平滑著色。平滑著色(預設值)會導致在光柵化基本圖元時內插頂點的計算顏色,通常會為每個產生的像素片段指派不同的顏色。平面著色只選取一個頂點的計算顏色,並將其指派給光柵化單個基本圖元所產生的所有像素片段。在任一種情況下,頂點的計算顏色都是在啟用光照時光照的結果,或者是在停用光照時指定頂點時的目前顏色。

gl:shaderBinary/3 將預先編譯的著色器二進制碼載入到 Count 個著色器物件中,這些物件的句柄在 Shaders 中給出。Binary 指向儲存在客戶端記憶體中的 Length 位元組的二進制著色器碼。BinaryFormat 指定預編譯碼的格式。

gl:shaderSource/2Shader 中的原始碼設定為 String 指定的字串陣列中的原始碼。先前儲存在著色器物件中的任何原始碼都會被完全替換。陣列中的字串數量由 Count 指定。如果 Length?NULL,則假設每個字串都以 null 終止。如果 Length?NULL 以外的值,它會指向一個陣列,其中包含 String 中每個對應元素的字串長度。Length 陣列中的每個元素可以包含相應字串的長度(null 字元不計為字串長度的一部分)或小於 0 的值,表示該字串以 null 終止。原始碼字串此時不會掃描或解析;它們只是複製到指定的著色器物件中。

gl:shaderStorageBlockBinding/3 更改程式物件 Program 中索引為 StorageBlockIndex 的活動著色器儲存區塊。StorageBlockIndex 必須是 Program 中的活動著色器儲存區塊索引。StorageBlockBinding 必須小於 ?GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 的值。如果成功,gl:shaderStorageBlockBinding/3 指定 Program 將使用綁定到綁定點 StorageBlockBinding 的緩衝區物件的資料儲存,以讀取和寫入由 StorageBlockIndex 識別的著色器儲存區塊中的緩衝區變數的值。

模版測試與深度緩衝類似,可以逐像素啟用和停用繪圖。首先使用 GL 繪圖圖元繪製到模版平面中,然後使用模版平面來遮蔽螢幕的部分區域來渲染幾何圖形和圖像。模版測試通常用於多通道渲染演算法中,以實現特殊效果,例如貼花、輪廓和建構式實體幾何渲染。

模版測試與深度緩衝類似,可以逐像素啟用和停用繪圖。您可以使用 GL 繪圖圖元繪製到模版平面中,然後使用模版平面來遮蔽螢幕的部分區域來渲染幾何圖形和圖像。模版測試通常用於多通道渲染演算法中,以實現特殊效果,例如貼花、輪廓和建構式實體幾何渲染。

gl:stencilMask/1 控制模版平面中個別位的寫入。Mask 的最低有效 n 位(其中 n 是模版緩衝區中的位數)指定一個遮罩。遮罩中出現 1 的位置,可以寫入模版緩衝區中的對應位。出現 0 的位置,對應位受寫入保護。最初,所有位都啟用寫入。

gl:stencilMaskSeparate/2 控制模版平面中個別位的寫入。Mask 的最低有效 n 位(其中 n 是模版緩衝區中的位數)指定一個遮罩。遮罩中出現 1 的位置,可以寫入模版緩衝區中的對應位。出現 0 的位置,對應位受寫入保護。最初,所有位都啟用寫入。

模版測試與深度緩衝類似,可以逐像素啟用和停用繪圖。您可以使用 GL 繪圖圖元繪製到模版平面中,然後使用模版平面來遮蔽螢幕的部分區域來渲染幾何圖形和圖像。模版測試通常用於多通道渲染演算法中,以實現特殊效果,例如貼花、輪廓和建構式實體幾何渲染。

模版測試與深度緩衝類似,可以逐像素啟用和停用繪圖。您可以使用 GL 繪圖圖元繪製到模版平面中,然後使用模版平面來遮蔽螢幕的部分區域來渲染幾何圖形和圖像。模版測試通常用於多通道渲染演算法中,以實現特殊效果,例如貼花、輪廓和建構式實體幾何渲染。

gl:texCoord() 指定一維、二維、三維或四維的紋理座標。gl:texCoord1() 將當前紋理座標設定為 (s 0 0 1);呼叫 gl:texCoord2() 將其設定為 (s t 0 1)。同樣,gl:texCoord3() 將紋理座標指定為 (s t r 1),而 gl:texCoord4() 則將所有四個分量明確定義為 (s t r q)。

gl:texCoordPointer/4 指定在渲染時要使用的紋理座標陣列的位置和資料格式。Size 指定每個紋理座標集的座標數量,並且必須為 1、2、3 或 4。Type 指定每個紋理座標的資料類型,而 Stride 指定從一個紋理座標集到下一個紋理座標集的位元組跨距,允許將頂點和屬性打包到單個陣列中或儲存在單獨的陣列中。(在某些實作中,單陣列儲存可能更有效率;請參閱 gl:interleavedArrays/3。)

紋理環境指定在對片段進行紋理處理時如何解釋紋理值。當 Target?GL_TEXTURE_FILTER_CONTROL 時,Pname 必須為 ?GL_TEXTURE_LOD_BIAS。當 Target?GL_TEXTURE_ENV 時,Pname 可以是 ?GL_TEXTURE_ENV_MODE?GL_TEXTURE_ENV_COLOR?GL_COMBINE_RGB?GL_COMBINE_ALPHA?GL_RGB_SCALE?GL_ALPHA_SCALE?GL_SRC0_RGB?GL_SRC1_RGB?GL_SRC2_RGB?GL_SRC0_ALPHA?GL_SRC1_ALPHA?GL_SRC2_ALPHA

gl:texGen() 選擇紋理座標生成函式或為其中一個函式提供係數。Coord 命名 (strq) 紋理座標之一;它必須是符號 ?GL_S?GL_T?GL_R?GL_Q 之一。Pname 必須是三個符號常數之一:?GL_TEXTURE_GEN_MODE?GL_OBJECT_PLANE?GL_EYE_PLANE。如果 Pname?GL_TEXTURE_GEN_MODE,則 Params 選擇一種模式,即 ?GL_OBJECT_LINEAR?GL_EYE_LINEAR?GL_SPHERE_MAP?GL_NORMAL_MAP?GL_REFLECTION_MAP 之一。如果 Pname?GL_OBJECT_PLANE?GL_EYE_PLANE,則 Params 包含對應紋理生成函式的係數。

紋理處理將指定紋理影像的一部分映射到啟用紋理處理的每個圖形圖元。若要啟用和停用一維紋理處理,請使用引數 ?GL_TEXTURE_1D 呼叫 gl:enable/1gl:disable/1

紋理貼圖允許著色器讀取影像陣列的元素。

gl:texImage2DMultisample/6 建立多重取樣紋理影像的資料儲存、格式、尺寸和取樣數量。

紋理處理將指定紋理影像的一部分映射到啟用紋理處理的每個圖形圖元。若要啟用和停用三維紋理處理,請使用引數 ?GL_TEXTURE_3D 呼叫 gl:enable/1gl:disable/1

gl:texImage3DMultisample/7 建立多重取樣紋理影像的資料儲存、格式、尺寸和取樣數量。

gl:texParameter()gl:textureParameter()Params 中的值或多個值指派給指定為 Pname 的紋理參數。對於 gl:texParameter()Target 定義目標紋理,可以是 ?GL_TEXTURE_1D?GL_TEXTURE_1D_ARRAY?GL_TEXTURE_2D?GL_TEXTURE_2D_ARRAY?GL_TEXTURE_2D_MULTISAMPLE?GL_TEXTURE_2D_MULTISAMPLE_ARRAY?GL_TEXTURE_3D?GL_TEXTURE_CUBE_MAP?GL_TEXTURE_CUBE_MAP_ARRAY?GL_TEXTURE_RECTANGLE。以下符號可在 Pname 中接受

gl:texStorage1D/4gl:textureStorage1D() 同時指定一維紋理所有層級的儲存需求。使用此命令指定紋理後,除非它是代理紋理,否則所有層級的格式和尺寸都會變成不可變的。但是,影像的內容仍然可以修改,但其儲存需求不得變更。此類紋理稱為 immutable-format 紋理。

gl:texStorage2D/5gl:textureStorage2D() 同時指定二維紋理或一維紋理陣列所有層級的儲存需求。一旦使用此命令指定紋理,除非是代理紋理,否則所有層級的格式和尺寸都將變為不可變。然而,影像的內容仍然可以修改,但其儲存需求不能改變。這種紋理稱為 不可變格式 紋理。

gl:texStorage2DMultisample/6gl:textureStorage2DMultisample() 指定二維多重採樣紋理的儲存需求。一旦使用此命令指定紋理,除非是代理紋理,否則其格式和尺寸都將變為不可變。然而,影像的內容仍然可以修改,但其儲存需求不能改變。這種紋理稱為 不可變格式 紋理。

gl:texStorage3D/6gl:textureStorage3D() 同時指定三維、二維陣列或立方體貼圖陣列紋理所有層級的儲存需求。一旦使用此命令指定紋理,除非是代理紋理,否則所有層級的格式和尺寸都將變為不可變。然而,影像的內容仍然可以修改,但其儲存需求不能改變。這種紋理稱為 不可變格式 紋理。

gl:texStorage3DMultisample/7gl:textureStorage3DMultisample() 指定二維多重採樣陣列紋理的儲存需求。一旦使用此命令指定紋理,除非是代理紋理,否則其格式和尺寸都將變為不可變。然而,影像的內容仍然可以修改,但其儲存需求不能改變。這種紋理稱為 不可變格式 紋理。

紋理映射將指定紋理影像的一部分映射到啟用紋理的每個圖形圖元上。要啟用或停用一維紋理,請使用參數 ?GL_TEXTURE_1D 呼叫 gl:enable/1gl:disable/1

紋理映射將指定紋理影像的一部分映射到啟用紋理的每個圖形圖元上。

紋理映射將指定紋理影像的一部分映射到啟用紋理的每個圖形圖元上。

當著色器階段擷取紋素,且相同的紋素透過片段著色器輸出寫入時,渲染片段的值是未定義的,即使讀取和寫入不在同一個繪圖命令中也是如此。為了安全地透過後續繪圖命令中的紋素擷取讀取寫入紋素的結果,請在兩個繪圖命令之間呼叫 gl:textureBarrier/0,以保證寫入已完成,並且在執行後續繪圖命令之前快取已失效。

gl:texBuffer/3gl:textureBuffer/3 將指定緩衝區物件的資料儲存區附加到指定的紋理物件,並指定緩衝區物件中找到的紋理影像的儲存格式。紋理物件必須是緩衝區紋理。

gl:texBufferRange/5gl:textureBufferRange/5 將指定緩衝區物件的資料儲存區範圍附加到指定的紋理物件,並指定緩衝區物件中找到的紋理影像的儲存格式。紋理物件必須是緩衝區紋理。

gl:textureView/8 將紋理物件初始化為別名,或是另一個紋理物件的視圖,與初始化的紋理共用部分或全部父紋理的資料儲存區。紋理 指定先前透過成功呼叫 gl:genTextures/1 所保留的名稱,但尚未繫結或給定目標。目標 指定新初始化紋理的目標,且必須與父紋理的目標相容,在下表中以 原始紋理 給定。

gl:transformFeedbackBufferBase/3 將緩衝區物件 緩衝區 繫結到變換回饋物件 Xfb 的索引 索引 處的繫結點。

gl:transformFeedbackBufferRange/5 將由 偏移大小 表示的緩衝區物件 緩衝區 的範圍繫結到變換回饋物件 Xfb 的索引 索引 處的繫結點。

要記錄在變換回饋模式中的頂點或幾何著色器輸出的名稱,是使用 gl:transformFeedbackVaryings/3 指定的。當幾何著色器處於作用中時,變換回饋會記錄發射頂點中選取的幾何著色器輸出變數的值。否則,會記錄選取的頂點著色器輸出的值。

gl:translate() 產生 (x y z) 的平移。目前矩陣(請參閱 gl:matrixMode/1)乘以這個平移矩陣,乘積取代目前矩陣,如同呼叫 gl:multMatrix() 時將以下矩陣作為其引數

使用 gl:uniformBlockBinding/3 指派作用中 Uniform 區塊的繫結點。每個程式的作用中 Uniform 區塊都有一個對應的 Uniform 緩衝區繫結點。程式 是先前已發出 gl:linkProgram/1 命令的程式物件的名稱。

gl:uniform() 修改 Uniform 變數或 Uniform 變數陣列的值。要修改的 Uniform 變數的位置由 位置 指定,它應該是由 gl:getUniformLocation/2 傳回的值。gl:uniform() 在呼叫 gl:useProgram/1 使其成為目前狀態一部分的程式物件上運作。

gl:uniformSubroutines() 使用來自 索引 的子常式索引,載入目前程式的著色器階段 著色器類型 的所有作用中子常式 Uniform,將 索引[i] 儲存到位置 I 的 Uniform。計數 必須等於目前使用中著色器階段 著色器類型 的程式的 ?GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 值。此外,索引 中的所有值都必須小於著色器階段的 ?GL_ACTIVE_SUBROUTINES 值。

gl:useProgram/1 安裝由 程式 指定的程式物件作為目前渲染狀態的一部分。透過使用 gl:attachShader/2 將著色器物件成功附加到程式物件,使用 gl:compileShader/1 成功編譯著色器物件,並使用 gl:linkProgram/1 成功連結程式物件,在程式物件中建立一個或多個可執行檔。

gl:useProgramStages/3 將與指定的一組著色器階段相關聯的程式物件中的可執行檔繫結到由 管線 給定的程式管線物件。管線 指定要繫結可執行檔的程式管線物件。階段 包含一個邏輯組合位,表示在程式管線物件 管線 中使用 程式 內的著色器階段。階段 必須是 ?GL_VERTEX_SHADER_BIT?GL_TESS_CONTROL_SHADER_BIT?GL_TESS_EVALUATION_SHADER_BIT?GL_GEOMETRY_SHADER_BIT?GL_FRAGMENT_SHADER_BIT?GL_COMPUTE_SHADER_BIT 的邏輯組合。此外,可以指定特殊值 ?GL_ALL_SHADER_BITS,表示應該將 程式 中包含的所有可執行檔安裝到 管線 中。

gl:validateProgram/1 檢查 程式 中包含的可執行檔是否可以在目前的 OpenGL 狀態下執行。驗證過程產生的資訊將儲存在 程式 的資訊日誌中。驗證資訊可能包含一個空字串,或者可能是一個包含有關目前程式物件如何與目前 OpenGL 狀態的其他部分互動的資訊的字串。這為 OpenGL 實作人員提供了一種方法,可以傳達有關為何目前程式效率低下、次佳、無法執行等等的更多資訊。

gl:validateProgramPipeline/1 指示實作驗證 Pipeline 中包含的著色器執行檔與目前的 GL 狀態。實作可能會利用此機會執行任何內部著色器修改,以確保在目前 GL 狀態下,已安裝的著色器能正確運作。

等同於 vertex4sv/1

等同於 vertex4sv/1

等同於 vertex4sv/1

等同於 vertex4sv/1

等同於 vertex4sv/1

等同於 vertex4sv/1

等同於 vertex4sv/1

等同於 vertex4sv/1

等同於 vertex4sv/1

等同於 vertex4sv/1

等同於 vertex4sv/1

gl:vertex() 命令在 gl:'begin'/1/gl:'end'/0 配對中使用,以指定點、線和多邊形的頂點。當呼叫 gl:vertex() 時,目前的顏色、法線、紋理座標和霧座標會與頂點相關聯。

gl:vertexArrayElementBuffer/2 將 ID 為 Buffer 的緩衝區物件繫結到 ID 為 Vaobj 的頂點陣列物件的元素陣列緩衝區繫結點。如果 Buffer 為零,則會移除任何現有繫結到 Vaobj 的元素陣列緩衝區繫結。

gl:bindVertexBuffer/4gl:vertexArrayVertexBuffer/5 將名為 Buffer 的緩衝區繫結到索引由 Bindingindex 給定的頂點緩衝區繫結點。gl:bindVertexBuffer/4 修改目前繫結的頂點陣列物件的繫結,而 gl:vertexArrayVertexBuffer/5 允許呼叫者使用名為 Vaobj 的引數指定頂點陣列物件的 ID,應修改該 ID 的繫結。OffsetStride 分別指定緩衝區中第一個元素的偏移量和緩衝區中元素之間的距離,兩者均以基本機器單位測量。Bindingindex 必須小於 ?GL_MAX_VERTEX_ATTRIB_BINDINGS 的值。OffsetStride 必須大於或等於零。如果 Buffer 為零,則會取消繫結目前繫結到指定繫結點的任何緩衝區。

gl:bindVertexBuffers/4gl:vertexArrayVertexBuffers/5 將現有緩衝區物件陣列的儲存空間繫結到頂點陣列物件中指定數量的連續頂點緩衝區繫結點單位。對於 gl:bindVertexBuffers/4,頂點陣列物件是目前繫結的頂點陣列物件。對於 gl:vertexArrayVertexBuffers/5Vaobj 是頂點陣列物件的名稱。

gl:vertexAttribBinding/2gl:vertexArrayAttribBinding/3 建立頂點陣列物件的通用頂點屬性(其索引由 Attribindex 給定)與頂點緩衝區繫結(其索引由 Bindingindex 給定)之間的關聯。對於 gl:vertexAttribBinding/2,受影響的頂點陣列物件是目前繫結的物件。對於 gl:vertexArrayAttribBinding/3Vaobj 是頂點陣列物件的名稱。

gl:vertexAttribDivisor/2 修改在單個繪製呼叫中渲染多個圖元實例時,通用頂點屬性前進的速度。如果 Divisor 為零,則位置 Index 的屬性會每個頂點前進一次。如果 Divisor 為非零值,則該屬性會每渲染 Divisor 個頂點集合的實例前進一次。如果屬性的 ?GL_VERTEX_ATTRIB_ARRAY_DIVISOR 值為非零值,則該屬性稱為已實例化。

gl:vertexAttrib() 系列進入點允許應用程式在編號位置傳遞通用頂點屬性。

gl:vertexAttribFormat/5gl:vertexAttribIFormat/4gl:vertexAttribLFormat/4,以及 gl:vertexArrayAttribFormat/6gl:vertexArrayAttribIFormat/5gl:vertexArrayAttribLFormat/5 指定頂點陣列中資料的組織方式。前三個呼叫在繫結的頂點陣列物件上運作,而最後三個呼叫會修改 ID 為 Vaobj 的頂點陣列物件的狀態。Attribindex 指定要描述其資料配置的通用頂點屬性陣列的索引,且必須小於 ?GL_MAX_VERTEX_ATTRIBS 的值。

gl:vertexAttribPointer/6gl:vertexAttribIPointer/5gl:vertexAttribLPointer/5 指定在渲染時要使用的索引 Index 處的通用頂點屬性陣列的位置和資料格式。Size 指定每個屬性的元件數,且必須為 1、2、3、4 或 ?GL_BGRAType 指定每個元件的資料類型,而 Stride 指定從一個屬性到下一個屬性的位元組跨度,允許將頂點和屬性封裝到單個陣列中或儲存在單獨的陣列中。

gl:vertexBindingDivisor/2gl:vertexArrayBindingDivisor/3 修改在單個繪圖命令中渲染多個圖元實例時,通用頂點屬性前進的速度。如果 Divisor 為零,則使用繫結到 Bindingindex 的緩衝區的屬性會每個頂點前進一次。如果 Divisor 為非零值,則該屬性會每渲染 Divisor 個頂點集合的實例前進一次。如果對應的 Divisor 值為非零值,則該屬性稱為 instanced

gl:vertexPointer/4 指定在渲染時要使用的頂點座標陣列的位置和資料格式。Size 指定每個頂點的座標數,且必須為 2、3 或 4。Type 指定每個座標的資料類型,而 Stride 指定從一個頂點到下一個頂點的位元組跨度,允許將頂點和屬性封裝到單個陣列中或儲存在單獨的陣列中。(在某些實作中,單陣列儲存可能更有效率;請參閱 gl:interleavedArrays/3。)

gl:viewport/4 指定從正規化裝置座標到視窗座標的 x 和 y 的仿射轉換。令 (x nd y nd) 為正規化裝置座標。然後,視窗座標 (x w y w) 的計算方式如下

gl:viewportArrayv/2 同時指定多個視埠的參數。First 指定要修改的第一個視埠的索引,而 Count 指定要修改的視埠數。First 必須小於 ?GL_MAX_VIEWPORTS 的值,且 First + Count 必須小於或等於 ?GL_MAX_VIEWPORTS 的值。索引位於範圍 [First, First + Count) 之外的視埠不會被修改。V 包含浮點數值陣列的位址,該陣列依序指定每個視埠的左邊 (x)、底部 (y)、寬度 (w) 和高度 (h)。x 和 y 給出視埠的左下角位置,而 w 和 h 分別給出視埠的寬度和高度。視埠指定從正規化裝置座標到視窗座標的 x 和 y 的仿射轉換。令 (x nd y nd) 為正規化裝置座標。然後,視窗座標 (x w y w) 的計算方式如下

gl:viewportIndexedf/5gl:viewportIndexedfv/2 指定單一視口的參數。Index 指定要修改的視口索引。Index 必須小於 ?GL_MAX_VIEWPORTS 的值。對於 gl:viewportIndexedf/5XYWH 分別以像素為單位指定視口的左側、底部、寬度和高度。對於 gl:viewportIndexedfv/2V 包含一個浮點數值陣列的地址,依序指定每個視口的左側 (x)、底部 (y)、寬度 (w) 和高度 (h)。x 和 y 給出視口左下角的坐標,而 w 和 h 給出視口的寬度和高度。視口指定了 x 和 y 從標準化裝置坐標到視窗坐標的仿射變換。令 (xnd, ynd) 為標準化裝置坐標。則視窗坐標 (xw, yw) 的計算方式如下:

gl:waitSync/3 會使 GL 伺服器阻塞並等待,直到 Sync 變為已發出訊號的狀態。Sync 是要等待的現有同步物件的名稱。FlagsTimeout 目前未使用,必須分別設定為零和特殊值 ?GL_TIMEOUT_IGNORED

GL 維護一個在視窗座標中的 3D 位置。這個位置稱為光柵位置 (raster position),用於定位像素和點陣圖寫入操作。它以次像素精確度維護。請參閱 gl:bitmap/7gl:drawPixels/5gl:copyPixels/5

類型

-type clamp() :: float().
-type enum() :: non_neg_integer().
-type f() :: float().
-type i() :: integer().
-type m12() :: {f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}.
-type m16() :: {f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}.
-type matrix() :: m12() | m16().
-type mem() :: binary() | tuple().
-type offset() :: non_neg_integer().

函式

-spec accum(Op :: enum(), Value :: f()) -> ok.

累積緩衝區是擴展範圍的色彩緩衝區。影像不會渲染到其中。相反地,渲染到其中一個色彩緩衝區的影像會在渲染後加入累積緩衝區的內容。透過累積使用不同轉換矩陣產生的影像,可以建立諸如反鋸齒(點、線和多邊形)、動態模糊和景深等效果。

外部文件。

連結到此函式

activeShaderProgram(Pipeline, Program)

檢視原始碼
-spec activeShaderProgram(Pipeline :: i(), Program :: i()) -> ok.

gl:activeShaderProgram/2Program 所命名的已連結程式設定為程式管線物件 Pipeline 的作用中程式。當沒有透過呼叫 gl:useProgram/1 將任何程式設為當前程式時,作用中程式管線物件中的作用中程式是呼叫 gl:uniform() 的目標。

外部文件。

連結到此函式

activeTexture(Texture)

檢視原始碼
-spec activeTexture(Texture :: enum()) -> ok.

gl:activeTexture/1 選擇後續紋理狀態呼叫會影響哪個紋理單元。實作支援的紋理單元數量取決於實作,但必須至少為 80。

外部文件。

-spec alphaFunc(Func :: enum(), Ref :: clamp()) -> ok.

alpha 測試會根據傳入片段的 alpha 值和常數參考值之間的比較結果,捨棄片段。gl:alphaFunc/2 指定參考值和比較函式。只有在啟用 alpha 測試時才會執行比較。預設情況下,它不會啟用。(請參閱 gl:enable/1gl:disable/1?GL_ALPHA_TEST。)

外部文件。

連結到此函式

areTexturesResident(Textures)

檢視原始碼
-spec areTexturesResident(Textures :: [i()]) -> {0 | 1, Residences :: [0 | 1]}.

GL 會建立一組「工作集」的紋理,這些紋理駐留在紋理記憶體中。這些紋理可以比未駐留的紋理更有效率地繫結到紋理目標。

外部文件。

-spec arrayElement(I :: i()) -> ok.

gl:arrayElement/1 命令在 gl:'begin'/1/gl:'end'/0 配對內使用,以指定點、線和多邊形圖元的頂點和屬性資料。如果呼叫 gl:arrayElement/1 時啟用 ?GL_VERTEX_ARRAY,則會繪製單一頂點,並使用從已啟用陣列的 I 位置取得的頂點和屬性資料。如果未啟用 ?GL_VERTEX_ARRAY,則不會發生繪圖,但會修改與已啟用陣列對應的屬性。

外部文件。

連結到此函式

attachShader(Program, Shader)

檢視原始碼
-spec attachShader(Program :: i(), Shader :: i()) -> ok.

為了建立完整的著色器程式,必須有一種方法可以指定將連結在一起的項目清單。程式物件提供此機制。要連結到程式物件中的著色器必須先附加到該程式物件。gl:attachShader/2Shader 所指定的著色器物件附加到 Program 所指定的程式物件。這表示 Shader 將包含在將在 Program 上執行的連結作業中。

外部文件。

-spec 'begin'(Mode :: enum()) -> ok.

等同於 '\'end\''/0

連結到此函式

beginConditionalRender(Id, Mode)

檢視原始碼
-spec beginConditionalRender(Id :: i(), Mode :: enum()) -> ok.

等同於 endConditionalRender/0

連結到此函式

beginQuery(Target, Id)

檢視原始碼
-spec beginQuery(Target :: enum(), Id :: i()) -> ok.

等同於 endQuery/1

連結到此函式

beginQueryIndexed(Target, Index, Id)

檢視原始碼
-spec beginQueryIndexed(Target :: enum(), Index :: i(), Id :: i()) -> ok.

等同於 endQueryIndexed/2

連結到此函式

beginTransformFeedback(PrimitiveMode)

檢視原始碼
-spec beginTransformFeedback(PrimitiveMode :: enum()) -> ok.

等同於 endTransformFeedback/0

連結到此函式

bindAttribLocation(Program, Index, Name)

檢視原始碼
-spec bindAttribLocation(Program :: i(), Index :: i(), Name :: string()) -> ok.

gl:bindAttribLocation/3 用於將 Program 所指定的程式物件中使用者定義的屬性變數與一般頂點屬性索引建立關聯。使用者定義的屬性變數名稱以 null 終止字串的形式傳遞在 Name 中。要繫結到此變數的一般頂點屬性索引由 Index 指定。當 Program 成為目前狀態的一部分時,透過一般頂點屬性 Index 提供的值將修改 Name 所指定的使用者定義屬性變數的值。

外部文件。

連結到此函式

bindBuffer(Target, Buffer)

檢視原始碼
-spec bindBuffer(Target :: enum(), Buffer :: i()) -> ok.

gl:bindBuffer/2 將緩衝區物件繫結到指定的緩衝區繫結點。呼叫 gl:bindBuffer/2,並將 Target 設定為其中一個接受的符號常數,並將 Buffer 設定為緩衝區物件的名稱,會將該緩衝區物件名稱繫結到目標。如果沒有名稱為 Buffer 的緩衝區物件存在,則會建立一個具有該名稱的物件。當緩衝區物件繫結到目標時,該目標的先前繫結會自動中斷。

外部文件。

連結到此函式

bindBufferBase(Target, Index, Buffer)

檢視原始碼
-spec bindBufferBase(Target :: enum(), Index :: i(), Buffer :: i()) -> ok.

gl:bindBufferBase/3 將緩衝區物件 Buffer 繫結到 Target 所指定目標陣列中索引 Index 的繫結點。每個 Target 代表緩衝區繫結點的索引陣列,以及一個單一一般繫結點,其他緩衝區操作函式(例如 gl:bindBuffer/2glMapBuffer)可以使用此繫結點。除了將 Buffer 繫結到索引緩衝區繫結目標之外,gl:bindBufferBase/3 也會將 Buffer 繫結到 Target 所指定的一般緩衝區繫結點。

外部文件。

連結到此函式

bindBufferRange(Target, Index, Buffer, Offset, Size)

檢視原始碼
-spec bindBufferRange(Target :: enum(), Index :: i(), Buffer :: i(), Offset :: i(), Size :: i()) -> ok.

gl:bindBufferRange/5 將以 OffsetSize 表示的緩衝區物件 Buffer 的範圍繫結到 Target 所指定目標陣列中索引 Index 的繫結點。每個 Target 代表緩衝區繫結點的索引陣列,以及一個單一一般繫結點,其他緩衝區操作函式(例如 gl:bindBuffer/2glMapBuffer)可以使用此繫結點。除了將 Buffer 的範圍繫結到索引緩衝區繫結目標之外,gl:bindBufferRange/5 也會將該範圍繫結到 Target 所指定的一般緩衝區繫結點。

外部文件。

連結到此函式

bindBuffersBase(Target, First, Buffers)

檢視原始碼
-spec bindBuffersBase(Target :: enum(), First :: i(), Buffers :: [i()]) -> ok.

gl:bindBuffersBase/3 將一組 Count 緩衝區物件(其名稱在陣列 Buffers 中給定)繫結到從 Target 所指定目標陣列中索引 First 開始的 Count 個連續繫結點。如果 Buffers?NULL,則 gl:bindBuffersBase/3 會取消繫結目前繫結到所參考繫結點的任何緩衝區。假設沒有產生錯誤,它等同於以下虛擬程式碼,它會呼叫 gl:bindBufferBase/3,但 gl:bindBuffersBase/3 不會變更非索引 Target 除外

外部文件。

連結到此函式

bindBuffersRange(Target, First, Buffers, Offsets, Sizes)

檢視原始碼
-spec bindBuffersRange(Target :: enum(),
                       First :: i(),
                       Buffers :: [i()],
                       Offsets :: [i()],
                       Sizes :: [i()]) ->
                          ok.

gl:bindBuffersRange/5 將一組 Count 範圍從緩衝區物件(其名稱在陣列 Buffers 中給定)繫結到從 Target 所指定目標陣列中索引 First 開始的 Count 個連續繫結點。Offsets 指定包含緩衝區中 Count 個起始偏移的陣列位址,而 Sizes 指定包含範圍 Count 個大小的陣列位址。如果 Buffers?NULL,則會忽略 OffsetsSizes,且 gl:bindBuffersRange/5 會取消繫結目前繫結到所參考繫結點的任何緩衝區。假設沒有產生錯誤,它等同於以下虛擬程式碼,它會呼叫 gl:bindBufferRange/5,但 gl:bindBuffersRange/5 不會變更非索引 Target 除外

外部文件。

連結到此函式

bindFragDataLocation(Program, Color, Name)

檢視原始碼
-spec bindFragDataLocation(Program :: i(), Color :: i(), Name :: string()) -> ok.

gl:bindFragDataLocation/3 明確指定將使用者定義的變動輸出變數 Name 繫結到程式 Program 的片段著色器色彩編號 ColorNumber。如果 Name 先前已繫結,則其指定的繫結會取代為 ColorNumberName 必須是以 null 終止的字串。ColorNumber 必須小於 ?GL_MAX_DRAW_BUFFERS

外部文件。

連結到此函式

bindFragDataLocationIndexed(Program, ColorNumber, Index, Name)

檢視原始碼
-spec bindFragDataLocationIndexed(Program :: i(), ColorNumber :: i(), Index :: i(), Name :: string()) ->
                                     ok.

gl:bindFragDataLocationIndexed/4 指定在下次連結程式時,Program 中的變動輸出變數 Name 應繫結到片段色彩 ColorNumberIndex 可以是零或一,分別指定該色彩用作混合方程式的第一個或第二個色彩輸入。

外部文件。

連結到此函式

bindFramebuffer(Target, Framebuffer)

檢視原始碼
-spec bindFramebuffer(Target :: enum(), Framebuffer :: i()) -> ok.

gl:bindFramebuffer/2 將名稱為 Framebuffer 的畫面緩衝區物件繫結到 Target 所指定的畫面緩衝區目標。Target 必須是 ?GL_DRAW_FRAMEBUFFER?GL_READ_FRAMEBUFFER?GL_FRAMEBUFFER。如果畫面緩衝區物件繫結到 ?GL_DRAW_FRAMEBUFFER?GL_READ_FRAMEBUFFER,它會分別成為渲染或讀回操作的目標,直到刪除它或將另一個畫面緩衝區繫結到對應的繫結點。使用設定為 ?GL_FRAMEBUFFERTarget 呼叫 gl:bindFramebuffer/2 會將 Framebuffer 繫結到讀取和繪製畫面緩衝區目標。Framebuffer 是先前從呼叫 gl:genFramebuffers/1 傳回的畫面緩衝區物件名稱,或是零以中斷現有的畫面緩衝區物件與 Target 的繫結。

外部文件。

連結到此函式

bindImageTexture(Unit, Texture, Level, Layered, Layer, Access, Format)

檢視原始碼
-spec bindImageTexture(Unit, Texture, Level, Layered, Layer, Access, Format) -> ok
                          when
                              Unit :: i(),
                              Texture :: i(),
                              Level :: i(),
                              Layered :: 0 | 1,
                              Layer :: i(),
                              Access :: enum(),
                              Format :: enum().

gl:bindImageTexture/7 將紋理的單一層級綁定到影像單元,以便從著色器讀取和寫入。 Unit 指定要綁定紋理層級的影像單元的從零開始的索引。Texture 指定要綁定到影像單元的現有紋理物件的名稱。如果 Texture 為零,則會中斷任何現有對影像單元的綁定。Level 指定要綁定到影像單元的紋理層級。

外部文件。

連結到此函式

bindImageTextures(First, Textures)

檢視原始碼
-spec bindImageTextures(First :: i(), Textures :: [i()]) -> ok.

gl:bindImageTextures/2 將現有紋理物件的陣列中的影像綁定到指定數量的連續影像單元。Count 指定陣列 Textures 中儲存的紋理物件名稱的數量。該數量的紋理名稱會從陣列中讀取,並綁定到從 First 開始的 Count 個連續紋理單元。如果名稱零出現在 Textures 陣列中,則會重設對影像單元的任何現有綁定。 Textures 中的任何非零項目都必須是現有紋理物件的名稱。當 Textures 中存在非零項目時,會綁定零層級的影像,該綁定會被視為分層的,第一層設定為零,並且該影像會被綁定以進行讀寫存取。影像單元格式參數取自紋理物件零層級影像的內部格式。對於立方體貼圖紋理,會使用零層級正 X 影像的內部格式。如果 Textures?NULL,則相當於指定了一個僅包含零的適當大小的陣列。

外部文件。

連結到此函式

bindProgramPipeline(Pipeline)

檢視原始碼
-spec bindProgramPipeline(Pipeline :: i()) -> ok.

gl:bindProgramPipeline/1 將程式管線物件綁定到目前的內容。Pipeline 必須是先前從呼叫 gl:genProgramPipelines/1 返回的名稱。如果沒有名稱為 Pipeline 的程式管線存在,則會建立一個具有該名稱的新管線物件,並初始化為預設狀態向量。

外部文件。

連結到此函式

bindRenderbuffer(Target, Renderbuffer)

檢視原始碼
-spec bindRenderbuffer(Target :: enum(), Renderbuffer :: i()) -> ok.

gl:bindRenderbuffer/2 將名稱為 Renderbuffer 的渲染緩衝區物件綁定到 Target 指定的渲染緩衝區目標。Target 必須為 ?GL_RENDERBUFFERRenderbuffer 是先前從呼叫 gl:genRenderbuffers/1 返回的渲染緩衝區物件的名稱,或零以中斷現有的渲染緩衝區物件與 Target 的綁定。

外部文件。

連結到此函式

bindSampler(Unit, Sampler)

檢視原始碼
-spec bindSampler(Unit :: i(), Sampler :: i()) -> ok.

gl:bindSampler/2Sampler 綁定到索引為 Unit 的紋理單元。Sampler 必須為零,或是先前從呼叫 gl:genSamplers/1 返回的取樣器物件的名稱。Unit 必須小於 ?GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 的值。

外部文件。

連結到此函式

bindSamplers(First, Samplers)

檢視原始碼
-spec bindSamplers(First :: i(), Samplers :: [i()]) -> ok.

gl:bindSamplers/2 將現有取樣器物件陣列中的取樣器綁定到指定數量的連續取樣器單元。Count 指定陣列 Samplers 中儲存的取樣器物件名稱的數量。該數量的取樣器名稱會從陣列中讀取,並綁定到從 First 開始的 Count 個連續取樣器單元。

外部文件。

連結到此函式

bindTexture(Target, Texture)

檢視原始碼
-spec bindTexture(Target :: enum(), Texture :: i()) -> ok.

gl:bindTexture/2 可讓您建立或使用已命名的紋理。呼叫 gl:bindTexture/2 時,將 Target 設定為 ?GL_TEXTURE_1D?GL_TEXTURE_2D?GL_TEXTURE_3D?GL_TEXTURE_1D_ARRAY?GL_TEXTURE_2D_ARRAY?GL_TEXTURE_RECTANGLE?GL_TEXTURE_CUBE_MAP?GL_TEXTURE_CUBE_MAP_ARRAY?GL_TEXTURE_BUFFER?GL_TEXTURE_2D_MULTISAMPLE?GL_TEXTURE_2D_MULTISAMPLE_ARRAY,並將 Texture 設定為新紋理的名稱,會將紋理名稱綁定到目標。當紋理綁定到目標時,該目標的先前綁定會自動中斷。

外部文件。

連結到此函式

bindTextures(First, Textures)

檢視原始碼
-spec bindTextures(First :: i(), Textures :: [i()]) -> ok.

gl:bindTextures/2 將現有紋理物件的陣列綁定到指定數量的連續紋理單元。Count 指定陣列 Textures 中儲存的紋理物件名稱的數量。該數量的紋理名稱會從陣列中讀取,並綁定到從 First 開始的 Count 個連續紋理單元。紋理的目標或類型是從紋理物件推斷出來的,並且每個紋理都會綁定到紋理單元的對應目標。如果名稱零出現在 Textures 陣列中,則會重設對紋理單元任何目標的任何現有綁定,並且會將該目標的預設紋理綁定到位。 Textures 中的任何非零項目都必須是現有紋理物件的名稱。如果 Textures?NULL,則相當於指定了一個僅包含零的適當大小的陣列。

外部文件。

連結到此函式

bindTextureUnit(Unit, Texture)

檢視原始碼
-spec bindTextureUnit(Unit :: i(), Texture :: i()) -> ok.

gl:bindTextureUnit/2 將現有紋理物件綁定到編號為 Unit 的紋理單元。

外部文件。

連結到此函式

bindTransformFeedback(Target, Id)

檢視原始碼
-spec bindTransformFeedback(Target :: enum(), Id :: i()) -> ok.

gl:bindTransformFeedback/2 將名稱為 Id 的轉換回饋物件綁定到目前的 GL 狀態。Id 必須是先前從呼叫 gl:genTransformFeedbacks/1 返回的名稱。如果 Id 先前未被綁定,則會建立一個名稱為 Id 且以預設轉換狀態向量初始化的新轉換回饋物件。

外部文件。

連結到此函式

bindVertexArray(Array)

檢視原始碼
-spec bindVertexArray(Array :: i()) -> ok.

gl:bindVertexArray/1 綁定名稱為 Array 的頂點陣列物件。Array 是先前從呼叫 gl:genVertexArrays/1 返回的頂點陣列物件的名稱,或零以中斷現有的頂點陣列物件綁定。

外部文件。

連結到此函式

bindVertexBuffer(Bindingindex, Buffer, Offset, Stride)

檢視原始碼
-spec bindVertexBuffer(Bindingindex :: i(), Buffer :: i(), Offset :: i(), Stride :: i()) -> ok.

等同於 vertexArrayVertexBuffer/5

連結到此函式

bindVertexBuffers(First, Buffers, Offsets, Strides)

檢視原始碼
-spec bindVertexBuffers(First :: i(), Buffers :: [i()], Offsets :: [i()], Strides :: [i()]) -> ok.

等同於 vertexArrayVertexBuffers/5

連結到此函式

bitmap(Width, Height, Xorig, Yorig, Xmove, Ymove, Bitmap)

檢視原始碼
-spec bitmap(Width, Height, Xorig, Yorig, Xmove, Ymove, Bitmap) -> ok
                when
                    Width :: i(),
                    Height :: i(),
                    Xorig :: f(),
                    Yorig :: f(),
                    Xmove :: f(),
                    Ymove :: f(),
                    Bitmap :: offset() | mem().

點陣圖是二進位影像。繪製時,點陣圖會相對於目前的點陣位置定位,並且使用目前的點陣顏色或索引寫入與點陣圖中的 1 對應的畫面緩衝區像素。與點陣圖中的 0 對應的畫面緩衝區像素不會被修改。

外部文件。

連結到此函式

blendColor(Red, Green, Blue, Alpha)

檢視原始碼
-spec blendColor(Red :: clamp(), Green :: clamp(), Blue :: clamp(), Alpha :: clamp()) -> ok.

?GL_BLEND_COLOR 可用於計算來源和目標混合因子。顏色成分在儲存之前會被限制在 [0 1] 範圍內。請參閱 gl:blendFunc/2 以取得混合操作的完整說明。最初,?GL_BLEND_COLOR 會設定為 (0, 0, 0, 0)。

外部文件。

-spec blendEquation(Mode :: enum()) -> ok.

等同於 blendEquationi/2

連結到此函式

blendEquationi(Buf, Mode)

檢視原始碼
-spec blendEquationi(Buf :: i(), Mode :: enum()) -> ok.

混合方程式決定如何將新像素(「來源」顏色)與畫面緩衝區中已有的像素(「目標」顏色)結合。此函數將 RGB 混合方程式和 Alpha 混合方程式都設定為單一方程式。 gl:blendEquationi/2 為單一繪圖緩衝區指定混合方程式,而 gl:blendEquation/1 設定所有繪圖緩衝區的混合方程式。

外部文件。

連結到此函式

blendEquationSeparate(ModeRGB, ModeAlpha)

檢視原始碼
-spec blendEquationSeparate(ModeRGB :: enum(), ModeAlpha :: enum()) -> ok.

等同於 blendEquationSeparatei/3

連結到此函式

blendEquationSeparatei(Buf, ModeRGB, ModeAlpha)

檢視原始碼
-spec blendEquationSeparatei(Buf :: i(), ModeRGB :: enum(), ModeAlpha :: enum()) -> ok.

混合方程式決定如何將新像素(「來源」顏色)與畫面緩衝區中已有的像素(「目標」顏色)結合。這些函數為 RGB 顏色成分指定一個混合方程式,並為 Alpha 成分指定一個混合方程式。 gl:blendEquationSeparatei/3 為單一繪圖緩衝區指定混合方程式,而 gl:blendEquationSeparate/2 設定所有繪圖緩衝區的混合方程式。

外部文件。

連結到此函式

blendFunc(Sfactor, Dfactor)

檢視原始碼
-spec blendFunc(Sfactor :: enum(), Dfactor :: enum()) -> ok.

等同於 blendFunci/3

連結到此函式

blendFunci(Buf, Src, Dst)

檢視原始碼
-spec blendFunci(Buf :: i(), Src :: enum(), Dst :: enum()) -> ok.

可以使用將傳入(來源)RGBA 值與畫面緩衝區中已有的 RGBA 值(目標值)混合的函數來繪製像素。混合最初是停用的。使用 gl:enable/1gl:disable/1 並使用參數 ?GL_BLEND 來啟用和停用混合。

外部文件。

連結到此函式

blendFuncSeparate(SfactorRGB, DfactorRGB, SfactorAlpha, DfactorAlpha)

檢視原始碼
-spec blendFuncSeparate(SfactorRGB, DfactorRGB, SfactorAlpha, DfactorAlpha) -> ok
                           when
                               SfactorRGB :: enum(),
                               DfactorRGB :: enum(),
                               SfactorAlpha :: enum(),
                               DfactorAlpha :: enum().

等同於 blendFuncSeparatei/5

連結到此函式

blendFuncSeparatei(Buf, SrcRGB, DstRGB, SrcAlpha, DstAlpha)

檢視原始碼
-spec blendFuncSeparatei(Buf :: i(),
                         SrcRGB :: enum(),
                         DstRGB :: enum(),
                         SrcAlpha :: enum(),
                         DstAlpha :: enum()) ->
                            ok.

可以使用將傳入(來源)RGBA 值與畫面緩衝區中已有的 RGBA 值(目標值)混合的函數來繪製像素。混合最初是停用的。使用 gl:enable/1gl:disable/1 並使用參數 ?GL_BLEND 來啟用和停用混合。

外部文件。

連結到此函式

blitFramebuffer(SrcX0, SrcY0, SrcX1, SrcY1, DstX0, DstY0, DstX1, DstY1, Mask, Filter)

檢視原始碼
-spec blitFramebuffer(SrcX0, SrcY0, SrcX1, SrcY1, DstX0, DstY0, DstX1, DstY1, Mask, Filter) -> ok
                         when
                             SrcX0 :: i(),
                             SrcY0 :: i(),
                             SrcX1 :: i(),
                             SrcY1 :: i(),
                             DstX0 :: i(),
                             DstY0 :: i(),
                             DstX1 :: i(),
                             DstY1 :: i(),
                             Mask :: i(),
                             Filter :: enum().

gl:blitFramebuffer/10glBlitNamedFramebuffer 將像素值矩形從讀取畫面緩衝區的一個區域傳輸到繪圖畫面緩衝區的另一個區域。

外部文件。

連結到此函式

bufferData(Target, Size, Data, Usage)

檢視原始碼
-spec bufferData(Target :: enum(), Size :: i(), Data :: offset() | mem(), Usage :: enum()) -> ok.

gl:bufferData/4glNamedBufferData 會為緩衝區物件建立新的資料儲存區。在 gl:bufferData/4 的情況下,會使用目前綁定到 Target 的緩衝區物件。對於 glNamedBufferData,將會改為使用呼叫者在 Buffer 中指定的 ID 相關聯的緩衝區物件。

外部文件。

連結到此函式

bufferStorage(Target, Size, Data, Flags)

檢視原始碼
-spec bufferStorage(Target :: enum(), Size :: i(), Data :: offset() | mem(), Flags :: i()) -> ok.

gl:bufferStorage/4glNamedBufferStorage 會建立新的不可變資料儲存區。對於 gl:bufferStorage/4,將會初始化目前綁定到 Target 的緩衝區物件。對於 glNamedBufferStorageBuffer 是將要設定的緩衝區物件的名稱。資料儲存區的大小由 Size 指定。如果初始資料可用,則可以在 Data 中提供其位址。否則,要建立未初始化的資料儲存區,Data 應該為 ?NULL

外部文件。

連結到此函式

bufferSubData(Target, Offset, Size, Data)

檢視原始碼
-spec bufferSubData(Target :: enum(), Offset :: i(), Size :: i(), Data :: offset() | mem()) -> ok.

gl:bufferSubData/4glNamedBufferSubData 會重新定義指定緩衝區物件的部分或全部資料儲存區。從位元組偏移量 Offset 開始並延伸 Size 個位元組的資料會從 Data 所指向的記憶體複製到資料儲存區。OffsetSize 必須定義完全位於緩衝區物件的資料儲存區內的範圍。

外部文件。

-spec callList(List :: i()) -> ok.

gl:callList/1 會執行指定的顯示列表。儲存在顯示列表中的指令會依序執行,如同它們是在沒有使用顯示列表的情況下被呼叫一樣。如果 List 尚未被定義為顯示列表,則 gl:callList/1 會被忽略。

外部文件。

-spec callLists(Lists :: [i()]) -> ok.

gl:callLists/1 會執行作為 Lists 傳遞的名稱列表中每個顯示列表。因此,儲存在每個顯示列表中的指令會依序執行,如同它們是在沒有使用顯示列表的情況下被呼叫一樣。尚未被定義的顯示列表名稱會被忽略。

外部文件。

連結到此函式

checkFramebufferStatus(目標)

檢視原始碼
-spec checkFramebufferStatus(Target :: enum()) -> enum().

gl:checkFramebufferStatus/1glCheckNamedFramebufferStatus 會傳回當作讀取或繪製幀緩衝區處理時,幀緩衝區物件的完整性狀態,具體取決於 Target 的值。

外部文件。

連結到此函式

clampColor(目標, 鉗制)

檢視原始碼
-spec clampColor(Target :: enum(), Clamp :: enum()) -> ok.

gl:clampColor/2 控制在 gl:readPixels/7 期間執行的顏色鉗制。Target 必須是 ?GL_CLAMP_READ_COLOR。如果 Clamp?GL_TRUE,則啟用讀取顏色鉗制;如果 Clamp?GL_FALSE,則停用讀取顏色鉗制。如果 Clamp?GL_FIXED_ONLY,則只有當選取的讀取緩衝區具有定點元件時才啟用讀取顏色鉗制,否則會停用。

外部文件。

-spec clear(Mask :: i()) -> ok.

gl:clear/1 將視窗的位元平面區域設定為先前由 gl:clearColor/4gl:clearDepth/1gl:clearStencil/1 選取的值。可以使用 gl:drawBuffer/1 一次選取多個緩衝區來同時清除多個顏色緩衝區。

外部文件。

連結到此函式

clearAccum(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec clearAccum(Red :: f(), Green :: f(), Blue :: f(), Alpha :: f()) -> ok.

gl:clearAccum/4 指定 gl:clear/1 用於清除累積緩衝區的紅色、綠色、藍色和 alpha 值。

外部文件。

連結到此函式

clearBufferData(目標, 內部格式, 格式, 類型, 資料)

檢視原始碼
-spec clearBufferData(Target, Internalformat, Format, Type, Data) -> ok
                         when
                             Target :: enum(),
                             Internalformat :: enum(),
                             Format :: enum(),
                             Type :: enum(),
                             Data :: offset() | mem().

等同於 clearBufferuiv/3

連結到此函式

clearBufferfi(緩衝區, 繪製緩衝區, 深度, 模板)

檢視原始碼
-spec clearBufferfi(Buffer :: enum(), Drawbuffer :: i(), Depth :: f(), Stencil :: i()) -> ok.

等同於 clearBufferuiv/3

連結到此函式

clearBufferfv(緩衝區, 繪製緩衝區, 值)

檢視原始碼
-spec clearBufferfv(Buffer :: enum(), Drawbuffer :: i(), Value :: tuple()) -> ok.

等同於 clearBufferuiv/3

連結到此函式

clearBufferiv(緩衝區, 繪製緩衝區, 值)

檢視原始碼
-spec clearBufferiv(Buffer :: enum(), Drawbuffer :: i(), Value :: tuple()) -> ok.

等同於 clearBufferuiv/3

連結到此函式

clearBufferSubData(目標, 內部格式, 偏移量, 大小, 格式, 類型, 資料)

檢視原始碼
-spec clearBufferSubData(Target, Internalformat, Offset, Size, Format, Type, Data) -> ok
                            when
                                Target :: enum(),
                                Internalformat :: enum(),
                                Offset :: i(),
                                Size :: i(),
                                Format :: enum(),
                                Type :: enum(),
                                Data :: offset() | mem().

等同於 clearBufferuiv/3

連結到此函式

clearBufferuiv(緩衝區, 繪製緩衝區, 值)

檢視原始碼
-spec clearBufferuiv(Buffer :: enum(), Drawbuffer :: i(), Value :: tuple()) -> ok.

這些指令會將幀緩衝區的指定緩衝區清除為指定的值。對於 gl:clearBuffer*(),幀緩衝區是目前綁定的繪製幀緩衝區物件。對於 glClearNamedFramebuffer*Framebuffer 為零,表示預設繪製幀緩衝區,或是幀緩衝區物件的名稱。

外部文件。

連結到此函式

clearColor(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec clearColor(Red :: clamp(), Green :: clamp(), Blue :: clamp(), Alpha :: clamp()) -> ok.

gl:clearColor/4 指定 gl:clear/1 用於清除顏色緩衝區的紅色、綠色、藍色和 alpha 值。gl:clearColor/4 指定的值會被鉗制在 [0 1] 範圍內。

外部文件。

-spec clearDepth(Depth :: clamp()) -> ok.

等同於 clearDepthf/1

-spec clearDepthf(D :: f()) -> ok.

gl:clearDepth/1 指定 gl:clear/1 用於清除深度緩衝區的深度值。gl:clearDepth/1 指定的值會被鉗制在 [0 1] 範圍內。

外部文件。

-spec clearIndex(C :: f()) -> ok.

gl:clearIndex/1 指定 gl:clear/1 用於清除顏色索引緩衝區的索引。C 不會被鉗制。相反地,C 會被轉換為二進位點右側具有未指定精度的定點值。然後,此值的整數部分會與 2 m-1 進行遮罩,其中 m 是儲存在幀緩衝區中顏色索引的位元數。

外部文件。

-spec clearStencil(S :: i()) -> ok.

gl:clearStencil/1 指定 gl:clear/1 用於清除模板緩衝區的索引。S 會與 2 m-1 進行遮罩,其中 m 是模板緩衝區中的位元數。

外部文件。

連結到此函式

clearTexImage(紋理, 層級, 格式, 類型, 資料)

檢視原始碼
-spec clearTexImage(Texture :: i(),
                    Level :: i(),
                    Format :: enum(),
                    Type :: enum(),
                    Data :: offset() | mem()) ->
                       ok.

gl:clearTexImage/5 使用應用程式提供的值填滿紋理中包含的所有圖像。Texture 必須是現有紋理的名稱。此外,Texture 不可以是緩衝區紋理的名稱,也不能是壓縮的內部格式。

外部文件。

連結到此函式

clearTexSubImage(紋理, 層級, X偏移量, Y偏移量, Z偏移量, 寬度, 高度, 深度, 格式, 類型, 資料)

檢視原始碼
-spec clearTexSubImage(Texture, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth, Format, Type,
                       Data) ->
                          ok
                          when
                              Texture :: i(),
                              Level :: i(),
                              Xoffset :: i(),
                              Yoffset :: i(),
                              Zoffset :: i(),
                              Width :: i(),
                              Height :: i(),
                              Depth :: i(),
                              Format :: enum(),
                              Type :: enum(),
                              Data :: offset() | mem().

gl:clearTexSubImage/11 使用應用程式提供的值填滿紋理中包含的所有或部分圖像。Texture 必須是現有紋理的名稱。此外,Texture 不可以是緩衝區紋理的名稱,也不能是壓縮的內部格式。

外部文件。

連結到此函式

clientActiveTexture(紋理)

檢視原始碼
-spec clientActiveTexture(Texture :: enum()) -> ok.

gl:clientActiveTexture/1 選取要由 gl:texCoordPointer/4 修改的頂點陣列客戶端狀態參數,並分別使用 gl:enableClientState/1gl:disableClientState/1 啟用或停用,當呼叫的參數為 ?GL_TEXTURE_COORD_ARRAY 時。

外部文件。

連結到此函式

clientWaitSync(同步, 旗標, 超時)

檢視原始碼
-spec clientWaitSync(Sync :: i(), Flags :: i(), Timeout :: i()) -> enum().

gl:clientWaitSync/3 會導致客戶端阻塞並等待由 Sync 指定的同步物件發出訊號。如果 gl:clientWaitSync/3 被呼叫時 Sync 已發出訊號,gl:clientWaitSync/3 會立即返回,否則它會阻塞並等待最多 Timeout 奈秒,直到 Sync 發出訊號。

外部文件。

連結到此函式

clipControl(原點, 深度)

檢視原始碼
-spec clipControl(Origin :: enum(), Depth :: enum()) -> ok.

gl:clipControl/2 控制裁剪體積的行為以及裁剪座標到視窗座標的轉換行為。

外部文件。

連結到此函式

clipPlane(平面, 方程式)

檢視原始碼
-spec clipPlane(Plane :: enum(), Equation :: {f(), f(), f(), f()}) -> ok.

幾何圖形始終會根據 xyz 中的六平面截頭錐體邊界進行裁剪。gl:clipPlane/2 允許指定額外的平面,這些平面不一定垂直於 xyz 軸,所有幾何圖形都會根據這些平面進行裁剪。若要判斷額外裁剪平面的最大數量,請使用參數 ?GL_MAX_CLIP_PLANES 呼叫 gl:getIntegerv/1。所有實作都支援至少六個此類裁剪平面。由於產生的裁剪區域是已定義半空間的交集,因此它始終是凸的。

外部文件。

連結到此函式

color3b(紅色, 綠色, 藍色)

檢視原始碼
-spec color3b(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等同於 color4usv/1

-spec color3bv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color3d(紅色, 綠色, 藍色)

檢視原始碼
-spec color3d(Red :: f(), Green :: f(), Blue :: f()) -> ok.

等同於 color4usv/1

-spec color3dv({Red :: f(), Green :: f(), Blue :: f()}) -> ok.

等同於 color4usv/1

連結到此函式

color3f(紅色, 綠色, 藍色)

檢視原始碼
-spec color3f(Red :: f(), Green :: f(), Blue :: f()) -> ok.

等同於 color4usv/1

-spec color3fv({Red :: f(), Green :: f(), Blue :: f()}) -> ok.

等同於 color4usv/1

連結到此函式

color3i(紅色, 綠色, 藍色)

檢視原始碼
-spec color3i(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等同於 color4usv/1

-spec color3iv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color3s(紅色, 綠色, 藍色)

檢視原始碼
-spec color3s(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等同於 color4usv/1

-spec color3sv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color3ub(紅色, 綠色, 藍色)

檢視原始碼
-spec color3ub(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等同於 color4usv/1

-spec color3ubv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color3ui(紅色, 綠色, 藍色)

檢視原始碼
-spec color3ui(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等同於 color4usv/1

-spec color3uiv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color3us(紅色, 綠色, 藍色)

檢視原始碼
-spec color3us(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等同於 color4usv/1

-spec color3usv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color4b(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec color4b(Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()) -> ok.

等同於 color4usv/1

-spec color4bv({Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color4d(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec color4d(Red :: f(), Green :: f(), Blue :: f(), Alpha :: f()) -> ok.

等同於 color4usv/1

-spec color4dv({Red :: f(), Green :: f(), Blue :: f(), Alpha :: f()}) -> ok.

等同於 color4usv/1

連結到此函式

color4f(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec color4f(Red :: f(), Green :: f(), Blue :: f(), Alpha :: f()) -> ok.

等同於 color4usv/1

-spec color4fv({Red :: f(), Green :: f(), Blue :: f(), Alpha :: f()}) -> ok.

等同於 color4usv/1

連結到此函式

color4i(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec color4i(Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()) -> ok.

等同於 color4usv/1

-spec color4iv({Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color4s(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec color4s(Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()) -> ok.

等同於 color4usv/1

-spec color4sv({Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color4ub(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec color4ub(Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()) -> ok.

等同於 color4usv/1

-spec color4ubv({Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color4ui(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec color4ui(Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()) -> ok.

等同於 color4usv/1

-spec color4uiv({Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()}) -> ok.

等同於 color4usv/1

連結到此函式

color4us(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec color4us(Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()) -> ok.

等同於 color4usv/1

-spec color4usv({Red :: i(), Green :: i(), Blue :: i(), Alpha :: i()}) -> ok.

GL 儲存目前單值顏色索引和目前四值 RGBA 顏色。gl:color() 設定新的四值 RGBA 顏色。gl:color() 有兩種主要變體:gl:color3()gl:color4()gl:color3() 變體會明確指定新的紅色、綠色和藍色值,並隱含地將目前的 alpha 值設定為 1.0 (全強度)。gl:color4() 變體會明確指定所有四種顏色成分。

外部文件。

連結到此函式

colorMask(紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec colorMask(Red :: 0 | 1, Green :: 0 | 1, Blue :: 0 | 1, Alpha :: 0 | 1) -> ok.

等同於 colorMaski/5

連結到此函式

colorMaski(索引, 紅色, 綠色, 藍色, Alpha)

檢視原始碼
-spec colorMaski(Index :: i(), R :: 0 | 1, G :: 0 | 1, B :: 0 | 1, A :: 0 | 1) -> ok.

gl:colorMask/4gl:colorMaski/5 指定是否可以或不能寫入幀緩衝區中的個別顏色成分。gl:colorMaski/5 設定特定繪製緩衝區的遮罩,而 gl:colorMask/4 設定所有繪製緩衝區的遮罩。例如,如果 Red?GL_FALSE,則無論嘗試進行哪種繪圖操作,都不會變更任何顏色緩衝區中任何像素的紅色成分。

外部文件。

連結到此函式

colorMaterial(面, 模式)

檢視原始碼
-spec colorMaterial(Face :: enum(), Mode :: enum()) -> ok.

gl:colorMaterial/2 指定哪些材質參數會追蹤目前的顏色。當 ?GL_COLOR_MATERIAL 啟用時,由 Mode 指定的材質參數,或由 Face 指定的材質參數會隨時追蹤目前的顏色。

外部文件。

連結到此函式

colorPointer(大小, 類型, 步幅, 指標)

檢視原始碼
-spec colorPointer(Size :: i(), Type :: enum(), Stride :: i(), Ptr :: offset() | mem()) -> ok.

gl:colorPointer/4 指定在渲染時要使用的顏色成分陣列的位置和資料格式。Size 指定每個顏色的成分數,且必須為 3 或 4。Type 指定每個顏色成分的資料類型,而 Stride 指定從一個顏色到下一個顏色的位元組步幅,允許將頂點和屬性封裝到單個陣列中或儲存在單獨的陣列中。(單陣列儲存可能在某些實作上更有效率;請參閱 gl:interleavedArrays/3。)

外部文件。

連結到此函式

colorSubTable(目標, 開始, 計數, 格式, 類型, 資料)

檢視原始碼
-spec colorSubTable(Target, Start, Count, Format, Type, Data) -> ok
                       when
                           Target :: enum(),
                           Start :: i(),
                           Count :: i(),
                           Format :: enum(),
                           Type :: enum(),
                           Data :: offset() | mem().

gl:colorSubTable/6 用於重新指定先前使用 gl:colorTable/6 定義的顏色表之連續部分。Data 所參照的像素會取代現有表格中從索引 Start 到 start+count-1(含)的部分。此區域不得包含原始指定顏色表範圍外的任何條目。指定寬度為 0 的子紋理並非錯誤,但此類指定沒有效果。

外部文件。

連結到此函式

colorTable(Target, Internalformat, Width, Format, Type, Table)

檢視原始碼
-spec colorTable(Target, Internalformat, Width, Format, Type, Table) -> ok
                    when
                        Target :: enum(),
                        Internalformat :: enum(),
                        Width :: i(),
                        Format :: enum(),
                        Type :: enum(),
                        Table :: offset() | mem().

gl:colorTable/6 可用於兩種情況:測試在給定特定參數下,查找表實際的大小和顏色解析度,或是載入顏色查找表的內容。使用 ?GL_PROXY_* 目標用於第一種情況,其他目標則用於第二種情況。

外部文件。

連結到此函式

colorTableParameterfv(Target, Pname, Params)

檢視原始碼
-spec colorTableParameterfv(Target :: enum(), Pname :: enum(), Params :: {f(), f(), f(), f()}) -> ok.

等同於 colorTableParameteriv/3

連結到此函式

colorTableParameteriv(Target, Pname, Params)

檢視原始碼
-spec colorTableParameteriv(Target :: enum(), Pname :: enum(), Params :: {i(), i(), i(), i()}) -> ok.

gl:colorTableParameter() 用於指定當顏色分量載入到顏色表時應用的縮放因子和偏差項。Target 表示縮放和偏差項所應用的顏色表;它必須設定為 ?GL_COLOR_TABLE?GL_POST_CONVOLUTION_COLOR_TABLE?GL_POST_COLOR_MATRIX_COLOR_TABLE

外部文件。

-spec compileShader(Shader :: i()) -> ok.

gl:compileShader/1 編譯儲存在由 Shader 指定的著色器物件中的原始碼字串。

外部文件。

連結到此函式

compressedTexImage1D(Target, Level, Internalformat, Width, Border, ImageSize, Data)

檢視原始碼
-spec compressedTexImage1D(Target, Level, Internalformat, Width, Border, ImageSize, Data) -> ok
                              when
                                  Target :: enum(),
                                  Level :: i(),
                                  Internalformat :: enum(),
                                  Width :: i(),
                                  Border :: i(),
                                  ImageSize :: i(),
                                  Data :: offset() | mem().

紋理貼圖允許著色器讀取影像陣列的元素。

外部文件。

連結到此函式

compressedTexImage2D(Target, Level, Internalformat, Width, Height, Border, ImageSize, Data)

檢視原始碼
-spec compressedTexImage2D(Target, Level, Internalformat, Width, Height, Border, ImageSize, Data) -> ok
                              when
                                  Target :: enum(),
                                  Level :: i(),
                                  Internalformat :: enum(),
                                  Width :: i(),
                                  Height :: i(),
                                  Border :: i(),
                                  ImageSize :: i(),
                                  Data :: offset() | mem().

紋理貼圖允許著色器讀取影像陣列的元素。

外部文件。

連結到此函式

compressedTexImage3D(Target, Level, Internalformat, Width, Height, Depth, Border, ImageSize, Data)

檢視原始碼
-spec compressedTexImage3D(Target, Level, Internalformat, Width, Height, Depth, Border, ImageSize, Data) ->
                              ok
                              when
                                  Target :: enum(),
                                  Level :: i(),
                                  Internalformat :: enum(),
                                  Width :: i(),
                                  Height :: i(),
                                  Depth :: i(),
                                  Border :: i(),
                                  ImageSize :: i(),
                                  Data :: offset() | mem().

紋理貼圖允許著色器讀取影像陣列的元素。

外部文件。

連結到此函式

compressedTexSubImage1D(Target, Level, Xoffset, Width, Format, ImageSize, Data)

檢視原始碼
-spec compressedTexSubImage1D(Target, Level, Xoffset, Width, Format, ImageSize, Data) -> ok
                                 when
                                     Target :: enum(),
                                     Level :: i(),
                                     Xoffset :: i(),
                                     Width :: i(),
                                     Format :: enum(),
                                     ImageSize :: i(),
                                     Data :: offset() | mem().

等同於 compressedTextureSubImage1D/7

連結到此函式

compressedTexSubImage2D(Target, Level, Xoffset, Yoffset, Width, Height, Format, ImageSize, Data)

檢視原始碼
-spec compressedTexSubImage2D(Target, Level, Xoffset, Yoffset, Width, Height, Format, ImageSize, Data) ->
                                 ok
                                 when
                                     Target :: enum(),
                                     Level :: i(),
                                     Xoffset :: i(),
                                     Yoffset :: i(),
                                     Width :: i(),
                                     Height :: i(),
                                     Format :: enum(),
                                     ImageSize :: i(),
                                     Data :: offset() | mem().

等同於 compressedTextureSubImage2D/9

連結到此函式

compressedTexSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth, Format, ImageSize, Data)

檢視原始碼
-spec compressedTexSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth, Format,
                              ImageSize, Data) ->
                                 ok
                                 when
                                     Target :: enum(),
                                     Level :: i(),
                                     Xoffset :: i(),
                                     Yoffset :: i(),
                                     Zoffset :: i(),
                                     Width :: i(),
                                     Height :: i(),
                                     Depth :: i(),
                                     Format :: enum(),
                                     ImageSize :: i(),
                                     Data :: offset() | mem().

等同於 compressedTextureSubImage3D/11

連結到此函式

compressedTextureSubImage1D(Texture, Level, Xoffset, Width, Format, ImageSize, Data)

檢視原始碼
-spec compressedTextureSubImage1D(Texture, Level, Xoffset, Width, Format, ImageSize, Data) -> ok
                                     when
                                         Texture :: i(),
                                         Level :: i(),
                                         Xoffset :: i(),
                                         Width :: i(),
                                         Format :: enum(),
                                         ImageSize :: i(),
                                         Data :: offset() | mem().

紋理貼圖允許著色器讀取影像陣列的元素。

外部文件。

連結到此函式

compressedTextureSubImage2D(Texture, Level, Xoffset, Yoffset, Width, Height, Format, ImageSize, Data)

檢視原始碼
-spec compressedTextureSubImage2D(Texture, Level, Xoffset, Yoffset, Width, Height, Format, ImageSize,
                                  Data) ->
                                     ok
                                     when
                                         Texture :: i(),
                                         Level :: i(),
                                         Xoffset :: i(),
                                         Yoffset :: i(),
                                         Width :: i(),
                                         Height :: i(),
                                         Format :: enum(),
                                         ImageSize :: i(),
                                         Data :: offset() | mem().

紋理貼圖允許著色器讀取影像陣列的元素。

外部文件。

連結到此函式

compressedTextureSubImage3D(Texture, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth, Format, ImageSize, Data)

檢視原始碼
-spec compressedTextureSubImage3D(Texture, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth,
                                  Format, ImageSize, Data) ->
                                     ok
                                     when
                                         Texture :: i(),
                                         Level :: i(),
                                         Xoffset :: i(),
                                         Yoffset :: i(),
                                         Zoffset :: i(),
                                         Width :: i(),
                                         Height :: i(),
                                         Depth :: i(),
                                         Format :: enum(),
                                         ImageSize :: i(),
                                         Data :: offset() | mem().

紋理貼圖允許著色器讀取影像陣列的元素。

外部文件。

連結到此函式

convolutionFilter1D(Target, Internalformat, Width, Format, Type, Image)

檢視原始碼
-spec convolutionFilter1D(Target, Internalformat, Width, Format, Type, Image) -> ok
                             when
                                 Target :: enum(),
                                 Internalformat :: enum(),
                                 Width :: i(),
                                 Format :: enum(),
                                 Type :: enum(),
                                 Image :: offset() | mem().

gl:convolutionFilter1D/6 從像素陣列建立一維捲積濾波器核心。

外部文件。

連結到此函式

convolutionFilter2D(Target, Internalformat, Width, Height, Format, Type, Image)

檢視原始碼
-spec convolutionFilter2D(Target, Internalformat, Width, Height, Format, Type, Image) -> ok
                             when
                                 Target :: enum(),
                                 Internalformat :: enum(),
                                 Width :: i(),
                                 Height :: i(),
                                 Format :: enum(),
                                 Type :: enum(),
                                 Image :: offset() | mem().

gl:convolutionFilter2D/7 從像素陣列建立二維捲積濾波器核心。

外部文件。

連結到此函式

convolutionParameterf(Target, Pname, Params)

檢視原始碼
-spec convolutionParameterf(Target :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 convolutionParameteriv/3

連結到此函式

convolutionParameterfv(Target, Pname, Params)

檢視原始碼
-spec convolutionParameterfv(Target :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 convolutionParameteriv/3

連結到此函式

convolutionParameteri(Target, Pname, Params)

檢視原始碼
-spec convolutionParameteri(Target :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 convolutionParameteriv/3

連結到此函式

convolutionParameteriv(Target, Pname, Params)

檢視原始碼
-spec convolutionParameteriv(Target :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

gl:convolutionParameter() 設定捲積參數的值。

外部文件。

連結到此函式

copyBufferSubData(ReadTarget, WriteTarget, ReadOffset, WriteOffset, Size)

檢視原始碼
-spec copyBufferSubData(ReadTarget, WriteTarget, ReadOffset, WriteOffset, Size) -> ok
                           when
                               ReadTarget :: enum(),
                               WriteTarget :: enum(),
                               ReadOffset :: i(),
                               WriteOffset :: i(),
                               Size :: i().

gl:copyBufferSubData/5glCopyNamedBufferSubData 將附加到來源緩衝區物件的資料儲存區的一部分複製到附加到目標緩衝區物件的資料儲存區。由 Size 指示的基本機器單元數量從來源的偏移量 ReadOffset 複製到目標的偏移量 WriteOffsetReadOffsetWriteOffsetSize 均以基本機器單元表示。

外部文件。

連結到此函式

copyColorSubTable(Target, Start, X, Y, Width)

檢視原始碼
-spec copyColorSubTable(Target :: enum(), Start :: i(), X :: i(), Y :: i(), Width :: i()) -> ok.

gl:copyColorSubTable/5 用於重新指定先前使用 gl:colorTable/6 定義的顏色表的連續部分。從幀緩衝區複製的像素會取代現有表中索引從 Start 到 start+x-1 (包含) 的部分。此區域不得包含超出顏色表範圍的任何條目,如同最初指定的那樣。指定寬度為 0 的子紋理不是錯誤,但這種指定沒有任何效果。

外部文件。

連結到此函式

copyColorTable(Target, Internalformat, X, Y, Width)

檢視原始碼
-spec copyColorTable(Target :: enum(), Internalformat :: enum(), X :: i(), Y :: i(), Width :: i()) -> ok.

gl:copyColorTable/5 從目前的 ?GL_READ_BUFFER (而不是從主記憶體,如同 gl:colorTable/6 的情況) 載入顏色表。

外部文件。

連結到此函式

copyConvolutionFilter1D(Target, Internalformat, X, Y, Width)

檢視原始碼
-spec copyConvolutionFilter1D(Target :: enum(),
                              Internalformat :: enum(),
                              X :: i(),
                              Y :: i(),
                              Width :: i()) ->
                                 ok.

gl:copyConvolutionFilter1D/5 使用來自目前 ?GL_READ_BUFFER 的像素 (而不是從主記憶體,如同 gl:convolutionFilter1D/6 的情況) 定義一維捲積濾波器核心。

外部文件。

連結到此函式

copyConvolutionFilter2D(Target, Internalformat, X, Y, Width, Height)

檢視原始碼
-spec copyConvolutionFilter2D(Target :: enum(),
                              Internalformat :: enum(),
                              X :: i(),
                              Y :: i(),
                              Width :: i(),
                              Height :: i()) ->
                                 ok.

gl:copyConvolutionFilter2D/6 使用來自目前 ?GL_READ_BUFFER 的像素 (而不是從主記憶體,如同 gl:convolutionFilter2D/7 的情況) 定義二維捲積濾波器核心。

外部文件。

連結到此函式

copyImageSubData(SrcName, SrcTarget, SrcLevel, SrcX, SrcY, SrcZ, DstName, DstTarget, DstLevel, DstX, DstY, DstZ, SrcWidth, SrcHeight, SrcDepth)

檢視原始碼
-spec copyImageSubData(SrcName, SrcTarget, SrcLevel, SrcX, SrcY, SrcZ, DstName, DstTarget, DstLevel,
                       DstX, DstY, DstZ, SrcWidth, SrcHeight, SrcDepth) ->
                          ok
                          when
                              SrcName :: i(),
                              SrcTarget :: enum(),
                              SrcLevel :: i(),
                              SrcX :: i(),
                              SrcY :: i(),
                              SrcZ :: i(),
                              DstName :: i(),
                              DstTarget :: enum(),
                              DstLevel :: i(),
                              DstX :: i(),
                              DstY :: i(),
                              DstZ :: i(),
                              SrcWidth :: i(),
                              SrcHeight :: i(),
                              SrcDepth :: i().

gl:copyImageSubData/15 可用於將資料從一個影像 (即紋理或渲染緩衝區) 複製到另一個影像。gl:copyImageSubData/15 不執行通用轉換,例如縮放、調整大小、混合、色彩空間或格式轉換。它應被視為以類似於 CPU memcpy 的方式運作。如果格式相容,CopyImageSubData 可以在具有不同內部格式的影像之間複製。

外部文件。

連結到此函式

copyPixels(X, Y, Width, Height, Type)

檢視原始碼
-spec copyPixels(X :: i(), Y :: i(), Width :: i(), Height :: i(), Type :: enum()) -> ok.

gl:copyPixels/5 將螢幕對齊的像素矩形從指定的幀緩衝區位置複製到相對於目前光柵位置的區域。只有當整個像素來源區域都在視窗的暴露部分內時,其操作才是明確定義的。從視窗外部或從視窗中未暴露的區域複製的結果取決於硬體且未定義。

外部文件。

連結到此函式

copyTexImage1D(Target, Level, Internalformat, X, Y, Width, Border)

檢視原始碼
-spec copyTexImage1D(Target, Level, Internalformat, X, Y, Width, Border) -> ok
                        when
                            Target :: enum(),
                            Level :: i(),
                            Internalformat :: enum(),
                            X :: i(),
                            Y :: i(),
                            Width :: i(),
                            Border :: i().

gl:copyTexImage1D/7 使用來自目前的 ?GL_READ_BUFFER 的像素定義一維紋理影像。

外部文件。

連結到此函式

copyTexImage2D(Target, Level, Internalformat, X, Y, Width, Height, Border)

檢視原始碼
-spec copyTexImage2D(Target, Level, Internalformat, X, Y, Width, Height, Border) -> ok
                        when
                            Target :: enum(),
                            Level :: i(),
                            Internalformat :: enum(),
                            X :: i(),
                            Y :: i(),
                            Width :: i(),
                            Height :: i(),
                            Border :: i().

gl:copyTexImage2D/8 使用來自目前的 ?GL_READ_BUFFER 的像素定義二維紋理影像或立方體貼圖紋理影像。

外部文件。

連結到此函式

copyTexSubImage1D(Target, Level, Xoffset, X, Y, Width)

檢視原始碼
-spec copyTexSubImage1D(Target :: enum(),
                        Level :: i(),
                        Xoffset :: i(),
                        X :: i(),
                        Y :: i(),
                        Width :: i()) ->
                           ok.

gl:copyTexSubImage1D/6glCopyTextureSubImage1D 使用來自目前的 ?GL_READ_BUFFER 的像素取代一維紋理影像的一部分 (而不是從主記憶體,如同 gl:texSubImage1D/7 的情況)。對於 gl:copyTexSubImage1D/6,繫結到 Target 的紋理物件將用於此流程。對於 glCopyTextureSubImage1DTexture 會指出應將哪個紋理物件用於呼叫的目的。

外部文件。

連結到此函式

copyTexSubImage2D(Target, Level, Xoffset, Yoffset, X, Y, Width, Height)

檢視原始碼
-spec copyTexSubImage2D(Target, Level, Xoffset, Yoffset, X, Y, Width, Height) -> ok
                           when
                               Target :: enum(),
                               Level :: i(),
                               Xoffset :: i(),
                               Yoffset :: i(),
                               X :: i(),
                               Y :: i(),
                               Width :: i(),
                               Height :: i().

gl:copyTexSubImage2D/8glCopyTextureSubImage2D 使用來自目前的 ?GL_READ_BUFFER 的像素取代二維紋理影像、立方體貼圖紋理影像、矩形影像的矩形部分,或一維陣列紋理的多個切片的線性部分 (而不是從主記憶體,如同 gl:texSubImage2D/9 的情況)。

外部文件。

連結到此函式

copyTexSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, X, Y, Width, Height)

檢視原始碼
-spec copyTexSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, X, Y, Width, Height) -> ok
                           when
                               Target :: enum(),
                               Level :: i(),
                               Xoffset :: i(),
                               Yoffset :: i(),
                               Zoffset :: i(),
                               X :: i(),
                               Y :: i(),
                               Width :: i(),
                               Height :: i().

gl:copyTexSubImage3D/9glCopyTextureSubImage3D 函式使用來自目前的 ?GL_READ_BUFFER 的像素取代三維或二維陣列紋理影像的矩形部分 (而不是從主記憶體,如同 gl:texSubImage3D/11 的情況)。

外部文件。

-spec createBuffers(N :: i()) -> [i()].

gl:createBuffers/1Buffers 中傳回 N 個先前未使用的緩衝區名稱,每個名稱都代表一個新的緩衝區物件,如同繫結到未指定的目標一樣初始化。

外部文件。

-spec createFramebuffers(N :: i()) -> [i()].

gl:createFramebuffers/1Framebuffers 中傳回 N 個先前未使用的幀緩衝區名稱,每個名稱都代表一個初始化為預設狀態的新幀緩衝區物件。

外部文件。

-spec createProgram() -> i().

gl:createProgram/0 建立一個空的程式物件,並傳回可用於參考它的非零值。程式物件是一個可以附加著色器物件的物件。這提供了一種機制來指定將連結以建立程式的著色器物件。它還提供了一種方法來檢查將用於建立程式的著色器之間的相容性 (例如,檢查頂點著色器和片段著色器之間的相容性)。當不再需要作為程式物件的一部分時,可以分離著色器物件。

外部文件。

連結到此函式

createProgramPipelines(N)

檢視原始碼
-spec createProgramPipelines(N :: i()) -> [i()].

gl:createProgramPipelines/1Pipelines 中傳回 N 個先前未使用的程式管線名稱,每個名稱都代表一個初始化為預設狀態的新程式管線物件。

外部文件。

連結到此函式

createQueries(Target, N)

檢視原始碼
-spec createQueries(Target :: enum(), N :: i()) -> [i()].

gl:createQueries/2Ids 中傳回 N 個先前未使用的查詢物件名稱,每個名稱都代表一個具有指定 Target 的新查詢物件。

外部文件。

連結到此函式

createRenderbuffers(N)

檢視原始碼
-spec createRenderbuffers(N :: i()) -> [i()].

gl:createRenderbuffers/1Renderbuffers 中傳回 N 個先前未使用的渲染緩衝區物件名稱,每個名稱都代表一個初始化為預設狀態的新渲染緩衝區物件。

外部文件。

-spec createSamplers(N :: i()) -> [i()].

gl:createSamplers/1Samplers 中傳回 N 個先前未使用的取樣器名稱,每個名稱都代表一個初始化為預設狀態的新取樣器物件。

外部文件。

-spec createShader(Type :: enum()) -> i().

gl:createShader/1 建立一個空的著色器物件,並傳回可用於參考它的非零值。著色器物件用於維護定義著色器的原始碼字串。ShaderType 表示要建立的著色器類型。支援五種著色器類型。類型為 ?GL_COMPUTE_SHADER 的著色器是預期在可程式化運算處理器上執行的著色器。類型為 ?GL_VERTEX_SHADER 的著色器是預期在可程式化頂點處理器上執行的著色器。類型為 ?GL_TESS_CONTROL_SHADER 的著色器是預期在控制階段的可程式化細分處理器上執行的著色器。類型為 ?GL_TESS_EVALUATION_SHADER 的著色器是預期在評估階段的可程式化細分處理器上執行的著色器。類型為 ?GL_GEOMETRY_SHADER 的著色器是預期在可程式化幾何處理器上執行的著色器。類型為 ?GL_FRAGMENT_SHADER 的著色器是預期在可程式化片段處理器上執行的著色器。

外部文件。

連結到此函式

createShaderProgramv(Type, Strings)

檢視原始碼
-spec createShaderProgramv(Type :: enum(), Strings :: [unicode:chardata()]) -> i().

gl:createShaderProgram() 建立一個程式物件,其中包含由 Type 指定的單個階段的已編譯和已連結的著色器。Strings 指的是用於建立著色器可執行檔的 Count 個字串陣列。

外部文件。

連結到此函式

createTextures(Target, N)

檢視原始碼
-spec createTextures(Target :: enum(), N :: i()) -> [i()].

gl:createTextures/2Textures 中返回 N 個先前未使用的紋理名稱,每個名稱代表一個新的紋理物件,其維度和類型由 Target 指定,並初始化為該紋理類型的預設值。

外部文件。

連結到此函式

createTransformFeedbacks(N)

檢視原始碼
-spec createTransformFeedbacks(N :: i()) -> [i()].

gl:createTransformFeedbacks/1Ids 中返回 N 個先前未使用的變換回饋物件名稱,每個名稱代表一個新的變換回饋物件,並初始化為預設狀態。

外部文件。

-spec createVertexArrays(N :: i()) -> [i()].

gl:createVertexArrays/1Arrays 中返回 N 個先前未使用的頂點陣列物件名稱,每個名稱代表一個新的頂點陣列物件,並初始化為預設狀態。

外部文件。

-spec cullFace(Mode :: enum()) -> ok.

gl:cullFace/1 指定當啟用面剔除時,正面或背面(由 mode 指定)是否被剔除。面剔除最初是禁用的。要啟用和禁用面剔除,請使用引數 ?GL_CULL_FACE 呼叫 gl:enable/1gl:disable/1 命令。面包括三角形、四邊形、多邊形和矩形。

外部文件。

連結到此函式

debugMessageControl(Source, Type, Severity, Ids, Enabled)

檢視原始碼
-spec debugMessageControl(Source :: enum(),
                          Type :: enum(),
                          Severity :: enum(),
                          Ids :: [i()],
                          Enabled :: 0 | 1) ->
                             ok.

gl:debugMessageControl/5 控制除錯上下文所產生的除錯訊息的報告。參數 SourceTypeSeverity 形成一個過濾器,從 GL 產生的潛在訊息池中選擇訊息。

外部文件。

連結到此函式

debugMessageInsert(Source, Type, Id, Severity, Buf)

檢視原始碼
-spec debugMessageInsert(Source :: enum(),
                         Type :: enum(),
                         Id :: i(),
                         Severity :: enum(),
                         Buf :: string()) ->
                            ok.

gl:debugMessageInsert/5 將使用者提供的訊息插入除錯輸出佇列。Source 指定將用於分類訊息的來源,並且必須為 ?GL_DEBUG_SOURCE_APPLICATION?GL_DEBUG_SOURCE_THIRD_PARTY。所有其他來源都保留給 GL 實作使用。Type 指示要插入的訊息類型,可以是 ?GL_DEBUG_TYPE_ERROR?GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR?GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR?GL_DEBUG_TYPE_PORTABILITY?GL_DEBUG_TYPE_PERFORMANCE?GL_DEBUG_TYPE_MARKER?GL_DEBUG_TYPE_PUSH_GROUP?GL_DEBUG_TYPE_POP_GROUP?GL_DEBUG_TYPE_OTHERSeverity 指示訊息的嚴重性,可以是 ?GL_DEBUG_SEVERITY_LOW?GL_DEBUG_SEVERITY_MEDIUM?GL_DEBUG_SEVERITY_HIGH?GL_DEBUG_SEVERITY_NOTIFICATIONId 可供應用程式定義使用,並且可以是任何值。此值將被記錄並用於識別訊息。

外部文件。

連結到此函式

deleteBuffers(Buffers)

檢視原始碼
-spec deleteBuffers(Buffers :: [i()]) -> ok.

gl:deleteBuffers/1 刪除由陣列 Buffers 的元素命名的 N 個緩衝區物件。在刪除緩衝區物件後,它沒有內容,並且其名稱可供重複使用(例如通過 gl:genBuffers/1)。如果刪除當前綁定的緩衝區物件,則綁定會還原為 0(不存在任何緩衝區物件)。

外部文件。

連結到此函式

deleteFramebuffers(Framebuffers)

檢視原始碼
-spec deleteFramebuffers(Framebuffers :: [i()]) -> ok.

gl:deleteFramebuffers/1 刪除名稱儲存在 Framebuffers 定址的陣列中的 N 個幀緩衝區物件。名稱 0 由 GL 保留,如果它出現在 Framebuffers 中,則會被靜默忽略,其他未使用的名稱也是如此。一旦刪除幀緩衝區物件,其名稱將再次未使用,並且沒有任何附件。如果當前綁定到一個或多個目標 ?GL_DRAW_FRAMEBUFFER?GL_READ_FRAMEBUFFER 的幀緩衝區被刪除,就好像已使用對應的 TargetFramebuffer 零執行了 gl:bindFramebuffer/2

外部文件。

連結到此函式

deleteLists(List, Range)

檢視原始碼
-spec deleteLists(List :: i(), Range :: i()) -> ok.

gl:deleteLists/2 導致刪除連續的顯示列表組。List 是要刪除的第一個顯示列表的名稱,Range 是要刪除的顯示列表數。所有顯示列表 d 滿足 list<= d<= list+range-1 都會被刪除。

外部文件。

連結到此函式

deleteProgram(Program)

檢視原始碼
-spec deleteProgram(Program :: i()) -> ok.

gl:deleteProgram/1 釋放內存並使與 Program 指定的程式物件相關聯的名稱失效。此命令有效地撤消了對 gl:createProgram/0 的呼叫效果。

外部文件。

連結到此函式

deleteProgramPipelines(Pipelines)

檢視原始碼
-spec deleteProgramPipelines(Pipelines :: [i()]) -> ok.

gl:deleteProgramPipelines/1 刪除名稱儲存在陣列 Pipelines 中的 N 個程式管線物件。Pipelines 中未使用的名稱將被忽略,名稱 0 也是如此。刪除程式管線物件後,其名稱將再次未使用,並且沒有任何內容。如果刪除當前綁定的程式管線物件,則該物件的綁定會還原為零,並且沒有程式管線物件變為當前。

外部文件。

-spec deleteQueries(Ids :: [i()]) -> ok.

gl:deleteQueries/1 刪除由陣列 Ids 的元素命名的 N 個查詢物件。刪除查詢物件後,它沒有內容,並且其名稱可供重複使用(例如通過 gl:genQueries/1)。

外部文件。

連結到此函式

deleteRenderbuffers(Renderbuffers)

檢視原始碼
-spec deleteRenderbuffers(Renderbuffers :: [i()]) -> ok.

gl:deleteRenderbuffers/1 刪除名稱儲存在 Renderbuffers 定址的陣列中的 N 個渲染緩衝區物件。名稱 0 由 GL 保留,如果它出現在 Renderbuffers 中,則會被靜默忽略,其他未使用的名稱也是如此。一旦刪除渲染緩衝區物件,其名稱將再次未使用,並且沒有任何內容。如果刪除當前綁定到目標 ?GL_RENDERBUFFER 的渲染緩衝區,就好像已使用 ?GL_RENDERBUFFERTarget 和名稱為 0 的 Name 執行了 gl:bindRenderbuffer/2

外部文件。

連結到此函式

deleteSamplers(Samplers)

檢視原始碼
-spec deleteSamplers(Samplers :: [i()]) -> ok.

gl:deleteSamplers/1 刪除由陣列 Samplers 的元素命名的 N 個取樣器物件。刪除取樣器物件後,其名稱將再次未使用。如果刪除當前綁定到取樣器單元的取樣器物件,就好像呼叫了 gl:bindSampler/2,其中單元設定為取樣器綁定的單元,取樣器設定為 0。Samplers 中未使用的名稱將被靜默忽略,保留名稱 0 也是如此。

外部文件。

-spec deleteShader(Shader :: i()) -> ok.

gl:deleteShader/1 釋放內存並使與 Shader 指定的著色器物件相關聯的名稱失效。此命令有效地撤消了對 gl:createShader/1 的呼叫效果。

外部文件。

-spec deleteSync(Sync :: i()) -> ok.

gl:deleteSync/1 刪除由 Sync 指定的同步物件。如果與指定的同步物件對應的柵欄命令已完成,或者如果沒有 gl:waitSync/3gl:clientWaitSync/3 命令在 Sync 上阻塞,則會立即刪除該物件。否則,Sync 會被標記為刪除,並且當它不再與任何柵欄命令相關聯,並且不再阻塞任何 gl:waitSync/3gl:clientWaitSync/3 命令時將被刪除。在任何一種情況下,在 gl:deleteSync/1 返回後,名稱 Sync 無效,並且不能再用於引用同步物件。

外部文件。

連結到此函式

deleteTextures(Textures)

檢視原始碼
-spec deleteTextures(Textures :: [i()]) -> ok.

gl:deleteTextures/1 刪除由陣列 Textures 的元素命名的 N 個紋理。刪除紋理後,它沒有內容或維度,並且其名稱可供重複使用(例如通過 gl:genTextures/1)。如果刪除當前綁定的紋理,則綁定會還原為 0(預設紋理)。

外部文件。

連結到此函式

deleteTransformFeedbacks(Ids)

檢視原始碼
-spec deleteTransformFeedbacks(Ids :: [i()]) -> ok.

gl:deleteTransformFeedbacks/1 刪除名稱儲存在陣列 Ids 中的 N 個變換回饋物件。Ids 中未使用的名稱將被忽略,名稱 0 也是如此。刪除變換回饋物件後,其名稱將再次未使用,並且沒有任何內容。如果刪除活動的變換回饋物件,則其名稱會立即變為未使用,但基礎物件不會被刪除,直到它不再活動。

外部文件。

連結到此函式

deleteVertexArrays(Arrays)

檢視原始碼
-spec deleteVertexArrays(Arrays :: [i()]) -> ok.

gl:deleteVertexArrays/1 刪除名稱儲存在 Arrays 定址的陣列中的 N 個頂點陣列物件。一旦刪除頂點陣列物件,它就沒有內容,並且其名稱再次未使用。如果刪除當前綁定的頂點陣列物件,則該物件的綁定會還原為零,並且預設頂點陣列變為當前。 Arrays 中未使用的名稱將被靜默忽略,值 0 也是如此。

外部文件。

-spec depthFunc(Func :: enum()) -> ok.

gl:depthFunc/1 指定用於比較每個傳入像素深度值與深度緩衝區中存在的深度值的函數。只有在啟用深度測試時才會執行比較。(請參閱 gl:enable/1gl:disable/1?GL_DEPTH_TEST。)

外部文件。

-spec depthMask(Flag :: 0 | 1) -> ok.

gl:depthMask/1 指定是否啟用深度緩衝區寫入。如果 Flag?GL_FALSE,則禁用深度緩衝區寫入。否則,將啟用。最初,深度緩衝區寫入是啟用的。

外部文件。

連結到此函式

depthRange(Near_val, Far_val)

檢視原始碼
-spec depthRange(Near_val :: clamp(), Far_val :: clamp()) -> ok.

等效於 depthRangef/2

連結到此函式

depthRangeArrayv(First, V)

檢視原始碼
-spec depthRangeArrayv(First :: i(), V :: [{f(), f()}]) -> ok.

在裁剪並除以 w 之後,深度座標的範圍會從 -1 到 1,分別對應到近裁剪面和遠裁剪面。每個視埠都有一個獨立的深度範圍,指定為此範圍內標準化深度座標到視窗深度座標的線性映射。無論實際的深度緩衝區實作方式為何,視窗座標深度值都被視為範圍從 0 到 1(如顏色分量)。gl:depthRangeArray() 指定此範圍中標準化深度座標到視窗深度座標的線性映射,適用於範圍 [First, First + Count) 內的每個視埠。因此,gl:depthRangeArray() 接受的值在接受之前都會被鉗制到此範圍內。

外部文件。

-spec depthRangef(N :: f(), F :: f()) -> ok.

在裁剪並除以 w 之後,深度座標的範圍會從 -1 到 1,分別對應到近裁剪面和遠裁剪面。gl:depthRange/2 指定此範圍中標準化深度座標到視窗深度座標的線性映射。無論實際的深度緩衝區實作方式為何,視窗座標深度值都被視為範圍從 0 到 1(如顏色分量)。因此,gl:depthRange/2 接受的值在接受之前都會被鉗制到此範圍內。

外部文件。

連結到此函式

depthRangeIndexed(Index, N, F)

檢視原始碼
-spec depthRangeIndexed(Index :: i(), N :: f(), F :: f()) -> ok.

在裁剪並除以 w 之後,深度座標的範圍會從 -1 到 1,分別對應到近裁剪面和遠裁剪面。每個視埠都有一個獨立的深度範圍,指定為此範圍內標準化深度座標到視窗深度座標的線性映射。無論實際的深度緩衝區實作方式為何,視窗座標深度值都被視為範圍從 0 到 1(如顏色分量)。gl:depthRangeIndexed/3 指定此範圍中標準化深度座標到視窗深度座標的線性映射,適用於指定的視埠。因此,gl:depthRangeIndexed/3 接受的值在接受之前都會被鉗制到此範圍內。

外部文件。

連結到此函式

detachShader(Program, Shader)

檢視原始碼
-spec detachShader(Program :: i(), Shader :: i()) -> ok.

gl:detachShader/2Shader 指定的著色器物件從 Program 指定的程式物件分離。此命令可用於還原命令 gl:attachShader/2 的效果。

外部文件。

-spec disable(Cap :: enum()) -> ok.

等同於 enablei/2

連結到此函式

disableClientState(Cap)

檢視原始碼
-spec disableClientState(Cap :: enum()) -> ok.

等同於 enableClientState/1

連結到此函式

disablei(Target, Index)

檢視原始碼
-spec disablei(Target :: enum(), Index :: i()) -> ok.

等同於 enablei/2

連結到此函式

disableVertexArrayAttrib(Vaobj, Index)

檢視原始碼
-spec disableVertexArrayAttrib(Vaobj :: i(), Index :: i()) -> ok.

等同於 enableVertexAttribArray/1

連結到此函式

disableVertexAttribArray(Index)

檢視原始碼
-spec disableVertexAttribArray(Index :: i()) -> ok.

等同於 enableVertexAttribArray/1

連結到此函式

dispatchCompute(Num_groups_x, Num_groups_y, Num_groups_z)

檢視原始碼
-spec dispatchCompute(Num_groups_x :: i(), Num_groups_y :: i(), Num_groups_z :: i()) -> ok.

gl:dispatchCompute/3 啟動一個或多個計算工作群組。每個工作群組都由計算著色器階段的活動程式物件處理。雖然工作群組內的個別著色器調用會作為一個單位執行,但工作群組會完全獨立且以未指定的順序執行。Num_groups_xNum_groups_yNum_groups_z 分別指定將在 X、Y 和 Z 維度中調度的本機工作群組數量。

外部文件。

連結到此函式

dispatchComputeIndirect(Indirect)

檢視原始碼
-spec dispatchComputeIndirect(Indirect :: i()) -> ok.

gl:dispatchComputeIndirect/1 使用目前繫結到 ?GL_DISPATCH_INDIRECT_BUFFER 目標的緩衝區物件中儲存的參數,啟動一個或多個計算工作群組。每個工作群組都由計算著色器階段的活動程式物件處理。雖然工作群組內的個別著色器調用會作為一個單位執行,但工作群組會完全獨立且以未指定的順序執行。Indirect 包含緩衝區物件的資料儲存區中的偏移量,該物件繫結到 ?GL_DISPATCH_INDIRECT_BUFFER 目標,參數儲存在該處。

外部文件。

連結到此函式

drawArrays(Mode, First, Count)

檢視原始碼
-spec drawArrays(Mode :: enum(), First :: i(), Count :: i()) -> ok.

gl:drawArrays/3 使用極少量的子常式呼叫來指定多個幾何圖元。您可以使用預先指定的頂點、法線和顏色陣列,而不是呼叫 GL 程序來傳遞每個個別的頂點、法線、紋理座標、邊緣旗標或顏色,並使用它們以單次呼叫 gl:drawArrays/3 來建構一系列圖元。

外部文件。

連結到此函式

drawArraysIndirect(Mode, Indirect)

檢視原始碼
-spec drawArraysIndirect(Mode :: enum(), Indirect :: offset() | mem()) -> ok.

gl:drawArraysIndirect/2 使用極少量的子常式呼叫來指定多個幾何圖元。gl:drawArraysIndirect/2 的行為與 gl:drawArraysInstancedBaseInstance/5 類似,除了 gl:drawArraysInstancedBaseInstance/5 的參數儲存在 Indirect 給定的位址的記憶體中。

外部文件。

連結到此函式

drawArraysInstanced(Mode, First, Count, Instancecount)

檢視原始碼
-spec drawArraysInstanced(Mode :: enum(), First :: i(), Count :: i(), Instancecount :: i()) -> ok.

gl:drawArraysInstanced/4 的行為與 gl:drawArrays/3 完全相同,只是執行元素範圍的 Instancecount 個執行個體,且內部計數器 InstanceID 的值會在每次迭代時遞增。InstanceID 是一個內部 32 位元整數計數器,可由頂點著色器讀取為 ?gl_InstanceID

外部文件。

連結到此函式

drawArraysInstancedBaseInstance(Mode, First, Count, Instancecount, Baseinstance)

檢視原始碼
-spec drawArraysInstancedBaseInstance(Mode :: enum(),
                                      First :: i(),
                                      Count :: i(),
                                      Instancecount :: i(),
                                      Baseinstance :: i()) ->
                                         ok.

gl:drawArraysInstancedBaseInstance/5 的行為與 gl:drawArrays/3 完全相同,只是執行元素範圍的 Instancecount 個執行個體,且內部計數器 InstanceID 的值會在每次迭代時遞增。InstanceID 是一個內部 32 位元整數計數器,可由頂點著色器讀取為 ?gl_InstanceID

外部文件。

-spec drawBuffer(Mode :: enum()) -> ok.

當色彩寫入框架緩衝區時,它們會寫入 gl:drawBuffer/1 指定的色彩緩衝區。下列其中一個值可用於預設框架緩衝區

外部文件。

-spec drawBuffers(Bufs :: [enum()]) -> ok.

gl:drawBuffers/1glNamedFramebufferDrawBuffers 定義一個緩衝區陣列,來自片段著色器資料的輸出將會寫入其中。如果片段著色器將值寫入一個或多個使用者定義的輸出變數,則每個變數的值會寫入 Bufs 內的位置所指定的緩衝區,該位置對應到指派給該使用者定義輸出的位置。用於指派給大於或等於 N 的位置的使用者定義輸出的繪製緩衝區會隱式設定為 ?GL_NONE,並且寫入此類輸出的任何資料都會被捨棄。

外部文件。

連結到此函式

drawElements(Mode, Count, Type, Indices)

檢視原始碼
-spec drawElements(Mode :: enum(), Count :: i(), Type :: enum(), Indices :: offset() | mem()) -> ok.

gl:drawElements/4 使用極少量的子常式呼叫來指定多個幾何圖元。您可以使用預先指定的頂點、法線等等陣列,而不是呼叫 GL 函式來傳遞每個個別的頂點、法線、紋理座標、邊緣旗標或顏色,並使用它們以單次呼叫 gl:drawElements/4 來建構一系列圖元。

外部文件。

連結到此函式

drawElementsBaseVertex(Mode, Count, Type, Indices, Basevertex)

檢視原始碼
-spec drawElementsBaseVertex(Mode, Count, Type, Indices, Basevertex) -> ok
                                when
                                    Mode :: enum(),
                                    Count :: i(),
                                    Type :: enum(),
                                    Indices :: offset() | mem(),
                                    Basevertex :: i().

gl:drawElementsBaseVertex/5 的行為與 gl:drawElements/4 完全相同,除了對應的繪製呼叫所傳輸的第 i 個元素將取自每個啟用陣列的元素 Indices[i] + Basevertex。如果結果值大於 Type 可表示的最大值,則就好像計算已向上轉換為 32 位元不帶正負號的整數(在溢位條件下環繞)。如果總和為負數,則此運算未定義。

外部文件。

連結到此函式

drawElementsIndirect(Mode, Type, Indirect)

檢視原始碼
-spec drawElementsIndirect(Mode :: enum(), Type :: enum(), Indirect :: offset() | mem()) -> ok.

gl:drawElementsIndirect/3 使用極少量的子常式呼叫來指定多個索引幾何圖元。gl:drawElementsIndirect/3 的行為與 gl:drawElementsInstancedBaseVertexBaseInstance/7 類似,除了 gl:drawElementsInstancedBaseVertexBaseInstance/7 的參數儲存在 Indirect 給定的位址的記憶體中。

外部文件。

連結到此函式

drawElementsInstanced(Mode, Count, Type, Indices, Instancecount)

檢視原始碼
-spec drawElementsInstanced(Mode, Count, Type, Indices, Instancecount) -> ok
                               when
                                   Mode :: enum(),
                                   Count :: i(),
                                   Type :: enum(),
                                   Indices :: offset() | mem(),
                                   Instancecount :: i().

gl:drawElementsInstanced/5 的行為與 gl:drawElements/4 完全相同,只是執行元素集合的 Instancecount 個執行個體,且內部計數器 InstanceID 的值會在每次迭代時遞增。InstanceID 是一個內部 32 位元整數計數器,可由頂點著色器讀取為 ?gl_InstanceID

外部文件。

連結到此函式

drawElementsInstancedBaseInstance(Mode, Count, Type, Indices, Instancecount, Baseinstance)

檢視原始碼
-spec drawElementsInstancedBaseInstance(Mode, Count, Type, Indices, Instancecount, Baseinstance) -> ok
                                           when
                                               Mode :: enum(),
                                               Count :: i(),
                                               Type :: enum(),
                                               Indices :: offset() | mem(),
                                               Instancecount :: i(),
                                               Baseinstance :: i().

gl:drawElementsInstancedBaseInstance/6 的行為與 gl:drawElements/4 完全相同,只是執行元素集合的 Instancecount 個執行個體,且內部計數器 InstanceID 的值會在每次迭代時遞增。InstanceID 是一個內部 32 位元整數計數器,可由頂點著色器讀取為 ?gl_InstanceID

外部文件。

連結到此函式

drawElementsInstancedBaseVertex(Mode, Count, Type, Indices, Instancecount, Basevertex)

檢視原始碼
-spec drawElementsInstancedBaseVertex(Mode, Count, Type, Indices, Instancecount, Basevertex) -> ok
                                         when
                                             Mode :: enum(),
                                             Count :: i(),
                                             Type :: enum(),
                                             Indices :: offset() | mem(),
                                             Instancecount :: i(),
                                             Basevertex :: i().

gl:drawElementsInstancedBaseVertex/6 的行為與 gl:drawElementsInstanced/5 完全相同,除了對應的繪製呼叫所傳輸的第 i 個元素將取自每個啟用陣列的元素 Indices[i] + Basevertex。如果結果值大於 Type 可表示的最大值,則就好像計算已向上轉換為 32 位元不帶正負號的整數(在溢位條件下環繞)。如果總和為負數,則此運算未定義。

外部文件。

連結到此函式

drawElementsInstancedBaseVertexBaseInstance(Mode, Count, Type, Indices, Instancecount, Basevertex, Baseinstance)

檢視原始碼
-spec drawElementsInstancedBaseVertexBaseInstance(Mode, Count, Type, Indices, Instancecount, Basevertex,
                                                  Baseinstance) ->
                                                     ok
                                                     when
                                                         Mode :: enum(),
                                                         Count :: i(),
                                                         Type :: enum(),
                                                         Indices :: offset() | mem(),
                                                         Instancecount :: i(),
                                                         Basevertex :: i(),
                                                         Baseinstance :: i().

gl:drawElementsInstancedBaseVertexBaseInstance/7 的行為與 gl:drawElementsInstanced/5 相同,差別在於對應的繪圖呼叫所傳輸的第 i 個元素,會從每個啟用的陣列中的 Indices[i] + Basevertex 元素取得。如果計算後的數值大於 Type 所能表示的最大值,則會如同將計算結果向上轉換為 32 位元無號整數(在溢位的情況下會環繞)。如果總和為負數,則此操作的行為未定義。

外部文件。

連結到此函式

drawPixels(Width, Height, Format, Type, Pixels)

檢視原始碼
-spec drawPixels(Width :: i(),
                 Height :: i(),
                 Format :: enum(),
                 Type :: enum(),
                 Pixels :: offset() | mem()) ->
                    ok.

gl:drawPixels/5 從記憶體讀取像素資料,並將其寫入相對於目前光柵位置的幀緩衝區,前提是光柵位置有效。使用 gl:rasterPos()gl:windowPos() 來設定目前的光柵位置;使用 gl:get() 並帶入參數 ?GL_CURRENT_RASTER_POSITION_VALID 來判斷指定的光柵位置是否有效,以及使用 gl:get() 並帶入參數 ?GL_CURRENT_RASTER_POSITION 來查詢光柵位置。

外部文件。

連結到此函式

drawRangeElements(Mode, Start, End, Count, Type, Indices)

檢視原始碼
-spec drawRangeElements(Mode, Start, End, Count, Type, Indices) -> ok
                           when
                               Mode :: enum(),
                               Start :: i(),
                               End :: i(),
                               Count :: i(),
                               Type :: enum(),
                               Indices :: offset() | mem().

gl:drawRangeElements/6gl:drawElements/4 的限制形式。ModeCountgl:drawElements/4 的對應參數相同,但額外限制陣列 Count 中的所有值都必須介於 StartEnd 之間(包含)。

外部文件。

連結到此函式

drawRangeElementsBaseVertex(Mode, Start, End, Count, Type, Indices, Basevertex)

檢視原始碼
-spec drawRangeElementsBaseVertex(Mode, Start, End, Count, Type, Indices, Basevertex) -> ok
                                     when
                                         Mode :: enum(),
                                         Start :: i(),
                                         End :: i(),
                                         Count :: i(),
                                         Type :: enum(),
                                         Indices :: offset() | mem(),
                                         Basevertex :: i().

gl:drawRangeElementsBaseVertex/7gl:drawElementsBaseVertex/5 的限制形式。ModeCountBasevertexgl:drawElementsBaseVertex/5 的對應參數相同,但額外限制陣列 Indices 中的所有值在加上 Basevertex 之前,必須介於 StartEnd 之間(包含)。超出範圍 [Start, End] 的索引值會以與 gl:drawElementsBaseVertex/5 相同的方式處理。對應的繪圖呼叫所傳輸的第 i 個元素,會從每個啟用的陣列中的 Indices[i] + Basevertex 元素取得。如果計算後的數值大於 Type 所能表示的最大值,則會如同將計算結果向上轉換為 32 位元無號整數(在溢位的情況下會環繞)。如果總和為負數,則此操作的行為未定義。

外部文件。

連結到此函式

drawTransformFeedback(Mode, Id)

檢視原始碼
-spec drawTransformFeedback(Mode :: enum(), Id :: i()) -> ok.

gl:drawTransformFeedback/2 使用由 Id 指定的轉換回饋擷取的計數,繪製由 Mode 指定類型的圖元。呼叫 gl:drawTransformFeedback/2 等同於呼叫 gl:drawArrays/3,其中 Mode 如指定,First 設定為零,且 Count 設定為上次在由 Id 指定的轉換回饋物件上啟用轉換回饋時,在頂點串流零上擷取的頂點數量。

外部文件。

連結到此函式

drawTransformFeedbackInstanced(Mode, Id, Instancecount)

檢視原始碼
-spec drawTransformFeedbackInstanced(Mode :: enum(), Id :: i(), Instancecount :: i()) -> ok.

gl:drawTransformFeedbackInstanced/3 使用由 Id 指定的轉換回饋物件的 Stream 指定的轉換回饋串流所擷取的計數,繪製由 Mode 指定類型的多個圖元範圍副本。呼叫 gl:drawTransformFeedbackInstanced/3 等同於呼叫 gl:drawArraysInstanced/4,其中 ModeInstancecount 如指定,First 設定為零,且 Count 設定為上次在由 Id 指定的轉換回饋物件上啟用轉換回饋時,在頂點串流零上擷取的頂點數量。

外部文件。

連結到此函式

drawTransformFeedbackStream(Mode, Id, Stream)

檢視原始碼
-spec drawTransformFeedbackStream(Mode :: enum(), Id :: i(), Stream :: i()) -> ok.

gl:drawTransformFeedbackStream/3 使用由 Id 指定的轉換回饋物件的 Stream 指定的轉換回饋串流所擷取的計數,繪製由 Mode 指定類型的圖元。呼叫 gl:drawTransformFeedbackStream/3 等同於呼叫 gl:drawArrays/3,其中 Mode 如指定,First 設定為零,且 Count 設定為上次在由 Id 指定的轉換回饋物件上啟用轉換回饋時,在頂點串流 Stream 上擷取的頂點數量。

外部文件。

連結到此函式

drawTransformFeedbackStreamInstanced(Mode, Id, Stream, Instancecount)

檢視原始碼
-spec drawTransformFeedbackStreamInstanced(Mode :: enum(),
                                           Id :: i(),
                                           Stream :: i(),
                                           Instancecount :: i()) ->
                                              ok.

gl:drawTransformFeedbackStreamInstanced/4 使用由 Id 指定的轉換回饋物件的 Stream 指定的轉換回饋串流所擷取的計數,繪製由 Mode 指定類型的多個圖元範圍副本。呼叫 gl:drawTransformFeedbackStreamInstanced/4 等同於呼叫 gl:drawArraysInstanced/4,其中 ModeInstancecount 如指定,First 設定為零,且 Count 設定為上次在由 Id 指定的轉換回饋物件上啟用轉換回饋時,在頂點串流 Stream 上擷取的頂點數量。

外部文件。

-spec edgeFlag(Flag :: 0 | 1) -> ok.

等同於 edgeFlagv/1

連結到此函式

edgeFlagPointer(Stride, Ptr)

檢視原始碼
-spec edgeFlagPointer(Stride :: i(), Ptr :: offset() | mem()) -> ok.

gl:edgeFlagPointer/2 指定在渲染時使用的布林邊緣旗標陣列的位置和資料格式。Stride 指定從一個邊緣旗標到下一個邊緣旗標的位元組跨度,允許將頂點和屬性封裝到單個陣列或儲存在單獨的陣列中。

外部文件。

-spec edgeFlagv({Flag :: 0 | 1}) -> ok.

gl:'begin'/1/gl:'end'/0 配對之間指定的每個多邊形、分離三角形或分離四邊形的頂點,都會被標記為邊界或非邊界邊緣的起點。如果在指定頂點時,目前的邊緣旗標為 true,則該頂點會被標記為邊界邊緣的起點。否則,該頂點會被標記為非邊界邊緣的起點。gl:edgeFlag/1 會在 Flag?GL_TRUE 時將邊緣旗標位元設定為 ?GL_TRUE,否則設定為 ?GL_FALSE

外部文件。

-spec enable(Cap :: enum()) -> ok.

等同於 enablei/2

連結到此函式

enableClientState(Cap)

檢視原始碼
-spec enableClientState(Cap :: enum()) -> ok.

gl:enableClientState/1gl:disableClientState/1 啟用或停用個別的客戶端功能。預設情況下,所有客戶端功能都已停用。gl:enableClientState/1gl:disableClientState/1 都接受單個參數 Cap,它可以假設以下值之一

外部文件。

連結到此函式

enablei(Target, Index)

檢視原始碼
-spec enablei(Target :: enum(), Index :: i()) -> ok.

gl:enable/1gl:disable/1 啟用和停用各種功能。使用 gl:isEnabled/1gl:get() 來判斷任何功能的目前設定。除了 ?GL_DITHER?GL_MULTISAMPLE 之外,每個功能的初始值都是 ?GL_FALSE?GL_DITHER?GL_MULTISAMPLE 的初始值是 ?GL_TRUE

外部文件。

連結到此函式

enableVertexArrayAttrib(Vaobj, Index)

檢視原始碼
-spec enableVertexArrayAttrib(Vaobj :: i(), Index :: i()) -> ok.

等同於 enableVertexAttribArray/1

連結到此函式

enableVertexAttribArray(Index)

檢視原始碼
-spec enableVertexAttribArray(Index :: i()) -> ok.

gl:enableVertexAttribArray/1gl:enableVertexArrayAttrib/2 啟用由 Index 指定的泛型頂點屬性陣列。gl:enableVertexAttribArray/1 使用目前綁定的頂點陣列物件來進行操作,而 gl:enableVertexArrayAttrib/2 則更新 ID 為 Vaobj 的頂點陣列物件的狀態。

外部文件。

-spec 'end'() -> ok.

gl:'begin'/1gl:'end'/0 分隔定義圖元或一組類似圖元的頂點。gl:'begin'/1 接受單個參數,指定頂點以十種方式中的哪一種方式解釋。將 n 視為從 1 開始的整數計數,並將 N 視為指定的頂點總數,則解釋如下

外部文件。

連結到此函式

endConditionalRender()

檢視原始碼
-spec endConditionalRender() -> ok.

條件渲染使用 gl:beginConditionalRender/2 開始,並使用 gl:endConditionalRender/0 結束。在條件渲染期間,如果查詢物件 Id 的 (?GL_SAMPLES_PASSED) 結果為零,或 (?GL_ANY_SAMPLES_PASSED) 結果為 ?GL_FALSE,則所有頂點陣列命令,以及 gl:clear/1gl:clearBuffer() 都沒有作用。設定目前頂點狀態的命令(例如 gl:vertexAttrib())的結果未定義。如果 (?GL_SAMPLES_PASSED) 結果為非零值,或 (?GL_ANY_SAMPLES_PASSED) 結果為 ?GL_TRUE,則不會捨棄這些命令。gl:beginConditionalRender/2Id 參數必須是先前從呼叫 gl:genQueries/1 返回的查詢物件的名稱。Mode 指定如何解釋查詢物件的結果。如果 Mode?GL_QUERY_WAIT,則 GL 會等待查詢結果可用,然後使用結果來判斷是否捨棄後續的渲染命令。如果 Mode?GL_QUERY_NO_WAIT,則 GL 可以選擇無條件執行後續的渲染命令,而無需等待查詢完成。

外部文件。

-spec endList() -> ok.

等同於 newList/2

-spec endQuery(Target :: enum()) -> ok.

gl:beginQuery/2gl:endQuery/1 劃定了查詢物件的邊界。Query 必須是先前呼叫 gl:genQueries/1 所傳回的名稱。如果名稱為 Id 的查詢物件尚不存在,則會以 Target 所決定的類型建立。 Target 必須是 ?GL_SAMPLES_PASSED?GL_ANY_SAMPLES_PASSED?GL_PRIMITIVES_GENERATED?GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN?GL_TIME_ELAPSED 其中之一。查詢物件的行為取決於其類型,如下所示。

外部文件。

連結到此函式

endQueryIndexed(Target, Index)

檢視原始碼
-spec endQueryIndexed(Target :: enum(), Index :: i()) -> ok.

gl:beginQueryIndexed/3gl:endQueryIndexed/2 劃定了查詢物件的邊界。Query 必須是先前呼叫 gl:genQueries/1 所傳回的名稱。如果名稱為 Id 的查詢物件尚不存在,則會以 Target 所決定的類型建立。 Target 必須是 ?GL_SAMPLES_PASSED?GL_ANY_SAMPLES_PASSED?GL_PRIMITIVES_GENERATED?GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN?GL_TIME_ELAPSED 其中之一。查詢物件的行為取決於其類型,如下所示。

外部文件。

連結到此函式

endTransformFeedback()

檢視原始碼
-spec endTransformFeedback() -> ok.

轉換回饋模式會捕捉頂點著色器(如果啟用了幾何著色器,則為幾何著色器)所寫入的 varying 變數值。在呼叫 gl:beginTransformFeedback/1 之後,直到後續呼叫 gl:endTransformFeedback/0,轉換回饋才被視為啟動。轉換回饋指令必須成對使用。

外部文件。

-spec evalCoord1d(U :: f()) -> ok.

等同於 evalCoord2fv/1

-spec evalCoord1dv({U :: f()}) -> ok.

等同於 evalCoord2fv/1

-spec evalCoord1f(U :: f()) -> ok.

等同於 evalCoord2fv/1

-spec evalCoord1fv({U :: f()}) -> ok.

等同於 evalCoord2fv/1

-spec evalCoord2d(U :: f(), V :: f()) -> ok.

等同於 evalCoord2fv/1

-spec evalCoord2dv({U :: f(), V :: f()}) -> ok.

等同於 evalCoord2fv/1

-spec evalCoord2f(U :: f(), V :: f()) -> ok.

等同於 evalCoord2fv/1

-spec evalCoord2fv({U :: f(), V :: f()}) -> ok.

gl:evalCoord1() 會在引數 U 評估已啟用的單一維度映射。gl:evalCoord2() 對於使用兩個域值 UV 的二維映射執行相同的操作。若要定義映射,請呼叫 glMap1glMap2;若要啟用和停用它,請呼叫 gl:enable/1gl:disable/1

外部文件。

連結到此函式

evalMesh1(Mode, I1, I2)

檢視原始碼
-spec evalMesh1(Mode :: enum(), I1 :: i(), I2 :: i()) -> ok.

等同於 evalMesh2/5

連結到此函式

evalMesh2(Mode, I1, I2, J1, J2)

檢視原始碼
-spec evalMesh2(Mode :: enum(), I1 :: i(), I2 :: i(), J1 :: i(), J2 :: i()) -> ok.

gl:mapGrid()gl:evalMesh() 搭配使用,以有效率地產生和評估一系列均勻間隔的映射域值。gl:evalMesh() 會逐步執行一或二維網格的整數域,其範圍是 glMap1glMap2 指定的評估映射的域。Mode 決定結果頂點是以點、線或填滿的多邊形連接。

外部文件。

-spec evalPoint1(I :: i()) -> ok.

等同於 evalPoint2/2

-spec evalPoint2(I :: i(), J :: i()) -> ok.

gl:mapGrid()gl:evalMesh() 搭配使用,以有效率地產生和評估一系列均勻間隔的映射域值。gl:evalPoint() 可用於評估與 gl:evalMesh() 遍歷的相同網格空間中的單個網格點。呼叫 gl:evalPoint1/1 等同於呼叫 glEvalCoord1( i.ð u+u 1 ); 其中 ð u=(u 2-u 1)/n

外部文件。

連結到此函式

feedbackBuffer(Size, Type, Buffer)

檢視原始碼
-spec feedbackBuffer(Size :: i(), Type :: enum(), Buffer :: mem()) -> ok.

gl:feedbackBuffer/3 函數控制回饋。回饋就像選擇一樣,是一種 GL 模式。透過呼叫 gl:renderMode/1 並使用 ?GL_FEEDBACK 來選擇此模式。當 GL 處於回饋模式時,不會產生任何像素來進行光柵化。相反地,使用 GL 將有關原本會進行光柵化的圖元資訊回饋到應用程式。

外部文件。

連結到此函式

fenceSync(Condition, Flags)

檢視原始碼
-spec fenceSync(Condition :: enum(), Flags :: i()) -> i().

gl:fenceSync/2 會建立一個新的 fence sync 物件,將 fence 指令插入 GL 指令串流中,並將其與該 sync 物件關聯,然後傳回對應於該 sync 物件的非零名稱。

外部文件。

-spec finish() -> ok.

gl:finish/0 在所有先前呼叫的 GL 指令的效果完成之前不會傳回。這些效果包括對 GL 狀態的所有變更、對連線狀態的所有變更以及對幀緩衝區內容的所有變更。

外部文件。

-spec flush() -> ok.

不同的 GL 實作會在數個不同的位置緩衝指令,包括網路緩衝區和圖形加速器本身。gl:flush/0 會清空所有這些緩衝區,使所有已發出的指令在被實際渲染引擎接受時盡快執行。雖然此執行可能不會在任何特定時間段內完成,但它會在有限的時間內完成。

外部文件。

連結到此函式

flushMappedBufferRange(Target, Offset, Length)

檢視原始碼
-spec flushMappedBufferRange(Target :: enum(), Offset :: i(), Length :: i()) -> ok.

等同於 flushMappedNamedBufferRange/3

連結到此函式

flushMappedNamedBufferRange(Buffer, Offset, Length)

檢視原始碼
-spec flushMappedNamedBufferRange(Buffer :: i(), Offset :: i(), Length :: i()) -> ok.

gl:flushMappedBufferRange/3 表示已對映射緩衝區物件的範圍進行修改。緩衝區物件先前必須使用 ?GL_MAP_FLUSH_EXPLICIT_BIT 旗標進行映射。

外部文件。

-spec fogCoordd(Coord :: f()) -> ok.

等同於 fogCoordfv/1

-spec fogCoorddv({Coord :: f()}) -> ok.

等同於 fogCoordfv/1

-spec fogCoordf(Coord :: f()) -> ok.

等同於 fogCoordfv/1

-spec fogCoordfv({Coord :: f()}) -> ok.

gl:fogCoord() 指定與每個頂點和目前光柵位置關聯的霧坐標。指定的值會進行內插,並用於計算霧顏色(請參閱 gl:fog())。

外部文件。

連結到此函式

fogCoordPointer(Type, Stride, Pointer)

檢視原始碼
-spec fogCoordPointer(Type :: enum(), Stride :: i(), Pointer :: offset() | mem()) -> ok.

gl:fogCoordPointer/3 指定在渲染時要使用的霧坐標陣列的位置和資料格式。Type 指定每個霧坐標的資料類型,而 Stride 指定從一個霧坐標到下一個霧坐標的位元組跨距,允許將頂點和屬性封裝到單個陣列中或儲存在單獨的陣列中。

外部文件。

-spec fogf(Pname :: enum(), Param :: f()) -> ok.

等同於 fogiv/2

-spec fogfv(Pname :: enum(), Params :: tuple()) -> ok.

等同於 fogiv/2

-spec fogi(Pname :: enum(), Param :: i()) -> ok.

等同於 fogiv/2

-spec fogiv(Pname :: enum(), Params :: tuple()) -> ok.

霧一開始會停用。啟用時,霧會影響光柵化幾何圖形、點陣圖和像素區塊,但不影響緩衝區清除作業。若要啟用和停用霧,請呼叫 gl:enable/1gl:disable/1 並使用引數 ?GL_FOG

外部文件。

連結到此函式

framebufferParameteri(Target, Pname, Param)

檢視原始碼
-spec framebufferParameteri(Target :: enum(), Pname :: enum(), Param :: i()) -> ok.

gl:framebufferParameteri/3glNamedFramebufferParameteri 修改指定幀緩衝區物件中名為 Pname 的參數的值。預設繪製和讀取幀緩衝區沒有可修改的參數,因此它們不是這些指令的有效目標。

外部文件。

連結到此函式

framebufferRenderbuffer(Target, Attachment, Renderbuffertarget, Renderbuffer)

檢視原始碼
-spec framebufferRenderbuffer(Target, Attachment, Renderbuffertarget, Renderbuffer) -> ok
                                 when
                                     Target :: enum(),
                                     Attachment :: enum(),
                                     Renderbuffertarget :: enum(),
                                     Renderbuffer :: i().

gl:framebufferRenderbuffer/4glNamedFramebufferRenderbuffer 將渲染緩衝區附加為指定幀緩衝區物件的邏輯緩衝區之一。渲染緩衝區無法附加到預設繪製和讀取幀緩衝區,因此它們不是這些指令的有效目標。

外部文件。

連結到此函式

framebufferTexture1D(Target, Attachment, Textarget, Texture, Level)

檢視原始碼
-spec framebufferTexture1D(Target :: enum(),
                           Attachment :: enum(),
                           Textarget :: enum(),
                           Texture :: i(),
                           Level :: i()) ->
                              ok.

等同於 framebufferTextureLayer/5

連結到此函式

framebufferTexture2D(Target, Attachment, Textarget, Texture, Level)

檢視原始碼
-spec framebufferTexture2D(Target :: enum(),
                           Attachment :: enum(),
                           Textarget :: enum(),
                           Texture :: i(),
                           Level :: i()) ->
                              ok.

等同於 framebufferTextureLayer/5

連結到此函式

framebufferTexture3D(Target, Attachment, Textarget, Texture, Level, Zoffset)

檢視原始碼
-spec framebufferTexture3D(Target, Attachment, Textarget, Texture, Level, Zoffset) -> ok
                              when
                                  Target :: enum(),
                                  Attachment :: enum(),
                                  Textarget :: enum(),
                                  Texture :: i(),
                                  Level :: i(),
                                  Zoffset :: i().

等同於 framebufferTextureLayer/5

連結到此函式

framebufferTexture(Target, Attachment, Texture, Level)

檢視原始碼
-spec framebufferTexture(Target :: enum(), Attachment :: enum(), Texture :: i(), Level :: i()) -> ok.

等同於 framebufferTextureLayer/5

連結到此函式

framebufferTextureFaceARB(Target, Attachment, Texture, Level, Face)

檢視原始碼
-spec framebufferTextureFaceARB(Target :: enum(),
                                Attachment :: enum(),
                                Texture :: i(),
                                Level :: i(),
                                Face :: enum()) ->
                                   ok.

等同於 framebufferTextureLayer/5

連結到此函式

framebufferTextureLayer(Target, Attachment, Texture, Level, Layer)

檢視原始碼
-spec framebufferTextureLayer(Target :: enum(),
                              Attachment :: enum(),
                              Texture :: i(),
                              Level :: i(),
                              Layer :: i()) ->
                                 ok.

這些指令會將所選 mipmap 層級或紋理物件的影像附加為指定幀緩衝區物件的邏輯緩衝區之一。紋理無法附加到預設繪製和讀取幀緩衝區,因此它們不是這些指令的有效目標。

外部文件。

-spec frontFace(Mode :: enum()) -> ok.

在完全由不透明封閉曲面組成的場景中,背面的多邊形永遠不可見。消除這些不可見的多邊形顯然具有加快影像渲染速度的優點。若要啟用和停用消除背面的多邊形,請呼叫 gl:enable/1gl:disable/1 並使用引數 ?GL_CULL_FACE

外部文件。

連結到此函式

frustum(Left, Right, Bottom, Top, Near_val, Far_val)

檢視原始碼
-spec frustum(Left :: f(), Right :: f(), Bottom :: f(), Top :: f(), Near_val :: f(), Far_val :: f()) ->
                 ok.

gl:frustum/6 描述產生透視投影的透視矩陣。目前的矩陣 (請參閱 gl:matrixMode/1) 會乘以這個矩陣,而結果會取代目前的矩陣,就像呼叫 gl:multMatrix() 並將下列矩陣作為其引數一樣

外部文件。

-spec genBuffers(N :: i()) -> [i()].

gl:genBuffers/1 會在 Buffers 中傳回 N 個緩衝區物件名稱。無法保證這些名稱形成連續的整數集;但是,保證在呼叫 gl:genBuffers/1 之前,傳回的名稱都未使用。

外部文件。

連結到此函式

generateMipmap(Target)

檢視原始碼
-spec generateMipmap(Target :: enum()) -> ok.

等同於 generateTextureMipmap/1

連結到此函式

generateTextureMipmap(Texture)

檢視原始碼
-spec generateTextureMipmap(Texture :: i()) -> ok.

gl:generateMipmap/1gl:generateTextureMipmap/1 會為指定的紋理物件產生 mipmap。對於 gl:generateMipmap/1,綁定到 Target 的紋理物件。對於 gl:generateTextureMipmap/1Texture 是紋理物件的名稱。

外部文件。

-spec genFramebuffers(N :: i()) -> [i()].

gl:genFramebuffers/1 會在 Ids 中傳回 N 個幀緩衝區物件名稱。無法保證這些名稱形成連續的整數集;但是,保證在呼叫 gl:genFramebuffers/1 之前,傳回的名稱都未使用。

外部文件。

-spec genLists(Range :: i()) -> i().

gl:genLists/1 接受一個引數 Range。它會回傳一個整數 n,使得會建立 Range 個連續的空白顯示列表,命名為 n、n+1、...、n+range-1。如果 Range 為 0,如果沒有可用的 Range 個連續名稱群組,或是產生任何錯誤,則不會產生顯示列表,並回傳 0。

外部文件。

連結到此函式

genProgramPipelines(N)

檢視原始碼
-spec genProgramPipelines(N :: i()) -> [i()].

gl:genProgramPipelines/1Pipelines 中回傳 N 個先前未使用的程式管線物件名稱。這些名稱會標記為已使用,僅用於 gl:genProgramPipelines/1,但只有在首次綁定時才會取得程式管線狀態。

外部文件。

-spec genQueries(N :: i()) -> [i()].

gl:genQueries/1Ids 中回傳 N 個查詢物件名稱。不保證這些名稱形成連續的整數集合;但是,保證回傳的名稱在呼叫 gl:genQueries/1 之前都未使用。

外部文件。

-spec genRenderbuffers(N :: i()) -> [i()].

gl:genRenderbuffers/1Renderbuffers 中回傳 N 個渲染緩衝區物件名稱。不保證這些名稱形成連續的整數集合;但是,保證回傳的名稱在呼叫 gl:genRenderbuffers/1 之前都未使用。

外部文件。

-spec genSamplers(Count :: i()) -> [i()].

gl:genSamplers/1Samplers 中回傳 N 個取樣器物件名稱。不保證這些名稱形成連續的整數集合;但是,保證回傳的名稱在呼叫 gl:genSamplers/1 之前都未使用。

外部文件。

-spec genTextures(N :: i()) -> [i()].

gl:genTextures/1Textures 中回傳 N 個紋理名稱。不保證這些名稱形成連續的整數集合;但是,保證回傳的名稱在呼叫 gl:genTextures/1 之前都未使用。

外部文件。

連結到此函式

genTransformFeedbacks(N)

檢視原始碼
-spec genTransformFeedbacks(N :: i()) -> [i()].

gl:genTransformFeedbacks/1Ids 中回傳 N 個先前未使用的變換回饋物件名稱。這些名稱會標記為已使用,僅用於 gl:genTransformFeedbacks/1,但只有在首次綁定時才會取得變換回饋狀態。

外部文件。

-spec genVertexArrays(N :: i()) -> [i()].

gl:genVertexArrays/1Arrays 中回傳 N 個頂點陣列物件名稱。不保證這些名稱形成連續的整數集合;但是,保證回傳的名稱在呼叫 gl:genVertexArrays/1 之前都未使用。

外部文件。

連結到此函式

getActiveAttrib(Program, Index, BufSize)

檢視原始碼
-spec getActiveAttrib(Program :: i(), Index :: i(), BufSize :: i()) ->
                         {Size :: i(), Type :: enum(), Name :: string()}.

gl:getActiveAttrib/3 回傳由 Program 指定的程式物件中活動屬性變數的相關資訊。可以透過呼叫 gl:getProgram() 並使用值 ?GL_ACTIVE_ATTRIBUTES 來取得活動屬性的數量。Index 的值為 0 會選取第一個活動屬性變數。Index 的允許值範圍從零到活動屬性變數的數量減一。

外部文件。

連結到此函式

getActiveSubroutineName(Program, Shadertype, Index, Bufsize)

檢視原始碼
-spec getActiveSubroutineName(Program :: i(), Shadertype :: enum(), Index :: i(), Bufsize :: i()) ->
                                 string().

gl:getActiveSubroutineName/4Program 中指定的程式物件查詢活動的著色器副程式統一變數的名稱。Index 指定由 Stage 給定的著色器階段中的著色器副程式統一變數的索引,且必須介於零和著色器階段的 ?GL_ACTIVE_SUBROUTINES 值減一之間。

外部文件。

連結到此函式

getActiveSubroutineUniformName(Program, Shadertype, Index, Bufsize)

檢視原始碼
-spec getActiveSubroutineUniformName(Program :: i(), Shadertype :: enum(), Index :: i(), Bufsize :: i()) ->
                                        string().

gl:getActiveSubroutineUniformName/4 擷取活動的著色器副程式統一變數的名稱。Program 包含包含統一變數的程式名稱。Shadertype 指定 Index 給定的統一變數位置有效的階段。Index 必須介於零和著色器階段的 ?GL_ACTIVE_SUBROUTINE_UNIFORMS 值減一之間。

外部文件。

連結到此函式

getActiveUniform(Program, Index, BufSize)

檢視原始碼
-spec getActiveUniform(Program :: i(), Index :: i(), BufSize :: i()) ->
                          {Size :: i(), Type :: enum(), Name :: string()}.

gl:getActiveUniform/3 回傳由 Program 指定的程式物件中活動統一變數的相關資訊。可以透過呼叫 gl:getProgram() 並使用值 ?GL_ACTIVE_UNIFORMS 來取得活動統一變數的數量。Index 的值為 0 會選取第一個活動統一變數。Index 的允許值範圍從零到活動統一變數的數量減一。

外部文件。

連結到此函式

getActiveUniformBlockiv(Program, UniformBlockIndex, Pname, Params)

檢視原始碼
-spec getActiveUniformBlockiv(Program :: i(),
                              UniformBlockIndex :: i(),
                              Pname :: enum(),
                              Params :: mem()) ->
                                 ok.

gl:getActiveUniformBlockiv/4 擷取關於 Program 內的活動統一區塊的相關資訊。

外部文件。

連結到此函式

getActiveUniformBlockName(Program, UniformBlockIndex, BufSize)

檢視原始碼
-spec getActiveUniformBlockName(Program :: i(), UniformBlockIndex :: i(), BufSize :: i()) -> string().

gl:getActiveUniformBlockName/3 擷取位於 ProgramUniformBlockIndex 的活動統一區塊的名稱。

外部文件。

連結到此函式

getActiveUniformName(Program, UniformIndex, BufSize)

檢視原始碼
-spec getActiveUniformName(Program :: i(), UniformIndex :: i(), BufSize :: i()) -> string().

gl:getActiveUniformName/3 回傳位於 ProgramUniformIndex 的活動統一變數的名稱。如果 UniformName 不是 NULL,則最多會將 BufSize 個字元(包含 null 終止符)寫入到由 UniformName 指定的位址的陣列中。如果 Length 不是 NULL,則會將寫入(或將會寫入)UniformName 的字元數(不包含 null 終止符)放置在 Length 中指定的位址的變數中。如果 Length 為 NULL,則不會回傳長度。Program 中最長統一變數名稱的長度由 ?GL_ACTIVE_UNIFORM_MAX_LENGTH 的值給定,可以使用 gl:getProgram() 進行查詢。

外部文件。

連結到此函式

getActiveUniformsiv(Program, UniformIndices, Pname)

檢視原始碼
-spec getActiveUniformsiv(Program :: i(), UniformIndices :: [i()], Pname :: enum()) -> [i()].

gl:getActiveUniformsiv/3 查詢名稱為 Pname 的參數的值,適用於 Program 內索引於 UniformIndicesUniformCount 個無符號整數陣列中指定的每個統一變數。成功後,每個統一變數的參數值會寫入到位址於 Params 中指定的陣列中的對應項目。如果產生錯誤,則不會將任何內容寫入 Params

外部文件。

連結到此函式

getAttachedShaders(Program, MaxCount)

檢視原始碼
-spec getAttachedShaders(Program :: i(), MaxCount :: i()) -> [i()].

gl:getAttachedShaders/2 回傳附加到 Program 的著色器物件的名稱。附加到 Program 的著色器物件的名稱將會回傳至 ShadersShaders 中實際寫入的著色器名稱數量會回傳至 Count。如果沒有著色器物件附加到 Program,則 Count 會設為 0。可以在 Shaders 中回傳的最大著色器名稱數量由 MaxCount 指定。

外部文件。

連結到此函式

getAttribLocation(Program, Name)

檢視原始碼
-spec getAttribLocation(Program :: i(), Name :: string()) -> i().

gl:getAttribLocation/2 查詢先前由 Program 指定的連結程式物件中由 Name 指定的屬性變數,並回傳綁定至該屬性變數的通用頂點屬性的索引。如果 Name 是矩陣屬性變數,則會回傳矩陣第一列的索引。如果指定的屬性變數不是指定程式物件中的活動屬性,或如果 Name 以保留的前綴 "gl_" 開頭,則會回傳 -1 的值。

外部文件。

連結到此函式

getBooleani_v(Target, Index)

檢視原始碼
-spec getBooleani_v(Target :: enum(), Index :: i()) -> [0 | 1].

等同於 getIntegerv/1

-spec getBooleanv(Pname :: enum()) -> [0 | 1].

等同於 getIntegerv/1

連結到此函式

getBufferParameteri64v(Target, Pname)

檢視原始碼
-spec getBufferParameteri64v(Target :: enum(), Pname :: enum()) -> [i()].

等同於 getBufferParameterivARB/2

連結到此函式

getBufferParameteriv(Target, Pname)

檢視原始碼
-spec getBufferParameteriv(Target :: enum(), Pname :: enum()) -> i().

gl:getBufferParameteriv/2Data 中回傳由 Target 指定的緩衝區物件的選取參數。

外部文件。

連結到此函式

getBufferParameterivARB(Target, Pname)

檢視原始碼
-spec getBufferParameterivARB(Target :: enum(), Pname :: enum()) -> [i()].

這些函數會在 Data 中回傳指定緩衝區物件的選取參數。

外部文件。

連結到此函式

getBufferSubData(Target, Offset, Size, Data)

檢視原始碼
-spec getBufferSubData(Target :: enum(), Offset :: i(), Size :: i(), Data :: mem()) -> ok.

gl:getBufferSubData/4glGetNamedBufferSubData 會回傳指定緩衝區物件的資料儲存區的部分或全部資料內容。從位元組偏移 Offset 開始並延伸 Size 個位元組的資料會從緩衝區物件的資料儲存區複製到 Data 所指向的記憶體。如果緩衝區物件目前已對應,或如果 OffsetSize 一起定義超出緩衝區物件資料儲存區範圍的範圍,則會擲回錯誤。

外部文件。

-spec getClipPlane(Plane :: enum()) -> {f(), f(), f(), f()}.

gl:getClipPlane/1 會在 Equation 中回傳 Plane 的平面方程式的四個係數。

外部文件。

連結到此函式

getColorTable(Target, Format, Type, Table)

檢視原始碼
-spec getColorTable(Target :: enum(), Format :: enum(), Type :: enum(), Table :: mem()) -> ok.

gl:getColorTable/4 會在 Table 中回傳由 Target 指定的色彩表內容。不會執行任何像素傳輸作業,但是會執行適用於 gl:readPixels/7 的像素儲存模式。

外部文件。

連結到此函式

getColorTableParameterfv(Target, Pname)

檢視原始碼
-spec getColorTableParameterfv(Target :: enum(), Pname :: enum()) -> {f(), f(), f(), f()}.

等同於 getColorTableParameteriv/2

連結到此函式

getColorTableParameteriv(Target, Pname)

檢視原始碼
-spec getColorTableParameteriv(Target :: enum(), Pname :: enum()) -> {i(), i(), i(), i()}.

回傳特定於色彩表 Target 的參數。

外部文件。

連結到此函式

getCompressedTexImage(Target, Lod, Img)

檢視原始碼
-spec getCompressedTexImage(Target :: enum(), Lod :: i(), Img :: mem()) -> ok.

gl:getCompressedTexImage/3glGetnCompressedTexImage 會將與 TargetLod 相關聯的壓縮紋理影像傳回至 Pixels 中。glGetCompressedTextureImage 的用途相同,但它會採用紋理物件的 ID,而不是紋理目標。Pixels 應該是一個大小為 BufSize 位元組的陣列,用於 glGetnCompresedTexImageglGetCompressedTextureImage 函數,而對於 gl:getCompressedTexImage/3 而言,則應該是一個大小為 ?GL_TEXTURE_COMPRESSED_IMAGE_SIZE 位元組的陣列。如果實際資料佔用的空間小於 BufSize,則剩餘的位元組將不會被觸及。Target 指定紋理目標,該函數應從綁定到該目標的紋理中提取資料。Lod 指定所需影像的細節層級編號。

外部文件。

連結到此函式

getConvolutionFilter(Target, Format, Type, Image)

檢視原始碼
-spec getConvolutionFilter(Target :: enum(), Format :: enum(), Type :: enum(), Image :: mem()) -> ok.

gl:getConvolutionFilter/4 會將目前的 1D 或 2D 卷積濾波器核心傳回為影像。根據 FormatType 中的規範,一維或二維影像會放置在 Image 中。此影像上不會執行任何像素傳輸操作,但會套用相關的像素儲存模式。

外部文件。

連結到此函式

getConvolutionParameterfv(Target, Pname)

檢視原始碼
-spec getConvolutionParameterfv(Target :: enum(), Pname :: enum()) -> {f(), f(), f(), f()}.

等同於 getConvolutionParameteriv/2

連結到此函式

getConvolutionParameteriv(Target, Pname)

檢視原始碼
-spec getConvolutionParameteriv(Target :: enum(), Pname :: enum()) -> {i(), i(), i(), i()}.

gl:getConvolutionParameter() 檢索卷積參數。Target 決定要查詢哪個卷積濾波器。Pname 決定要傳回哪個參數。

外部文件。

連結到此函式

getDebugMessageLog(Count, BufSize)

檢視原始碼
-spec getDebugMessageLog(Count :: i(), BufSize :: i()) ->
                            {i(),
                             Sources :: [enum()],
                             Types :: [enum()],
                             Ids :: [i()],
                             Severities :: [enum()],
                             MessageLog :: [string()]}.

gl:getDebugMessageLog/2 從偵錯訊息記錄中檢索訊息。從記錄中檢索最多 Count 個訊息。如果 Sources 不是 NULL,則每個訊息的來源會寫入到陣列中最多 Count 個元素。如果 Types 不是 NULL,則每個訊息的類型會寫入到陣列中最多 Count 個元素。如果 Id 不是 NULL,則每個訊息的識別碼會寫入到陣列中最多 Count 個元素。如果 Severities 不是 NULL,則每個訊息的嚴重性會寫入到陣列中最多 Count 個元素。如果 Lengths 不是 NULL,則每個訊息的長度會寫入到陣列中最多 Count 個元素。

外部文件。

連結到此函式

getDoublei_v(Target, Index)

檢視原始碼
-spec getDoublei_v(Target :: enum(), Index :: i()) -> [f()].

等同於 getIntegerv/1

-spec getDoublev(Pname :: enum()) -> [f()].

等同於 getIntegerv/1

-spec getError() -> enum().

gl:getError/0 會傳回錯誤旗標的值。每個可偵測的錯誤都會被指派一個數值代碼和符號名稱。當發生錯誤時,錯誤旗標會設定為適當的錯誤代碼值。在呼叫 gl:getError/0 之前,不會記錄其他錯誤,錯誤代碼會被傳回,且旗標會重設為 ?GL_NO_ERROR。如果呼叫 gl:getError/0 會傳回 ?GL_NO_ERROR,則表示自上次呼叫 gl:getError/0 或自 GL 初始化以來,沒有發生可偵測的錯誤。

外部文件。

連結到此函式

getFloati_v(Target, Index)

檢視原始碼
-spec getFloati_v(Target :: enum(), Index :: i()) -> [f()].

等同於 getIntegerv/1

-spec getFloatv(Pname :: enum()) -> [f()].

等同於 getIntegerv/1

連結到此函式

getFragDataIndex(Program, Name)

檢視原始碼
-spec getFragDataIndex(Program :: i(), Name :: string()) -> i().

gl:getFragDataIndex/2 會傳回當程式物件 Program 最後一次連結時,變數 Name 所綁定的片段顏色的索引。如果 Name 不是 Program 的變數輸出,或是發生錯誤,則會傳回 -1。

外部文件。

連結到此函式

getFragDataLocation(Program, Name)

檢視原始碼
-spec getFragDataLocation(Program :: i(), Name :: string()) -> i().

gl:getFragDataLocation/2 檢索程式 Program 的使用者定義的變數輸出變數 Name 的指定色彩編號綁定。Program 必須先前已連結。Name 必須是以 null 結尾的字串。如果 Name 不是 Program 內使用中的使用者定義變數輸出片段著色器變數的名稱,則會傳回 -1。

外部文件。

連結到此函式

getFramebufferAttachmentParameteriv(Target, Attachment, Pname)

檢視原始碼
-spec getFramebufferAttachmentParameteriv(Target :: enum(), Attachment :: enum(), Pname :: enum()) ->
                                             i().

gl:getFramebufferAttachmentParameteriv/3glGetNamedFramebufferAttachmentParameteriv 會傳回指定幀緩衝區物件附件的參數。

外部文件。

連結到此函式

getFramebufferParameteriv(Target, Pname)

檢視原始碼
-spec getFramebufferParameteriv(Target :: enum(), Pname :: enum()) -> i().

gl:getFramebufferParameteriv/2glGetNamedFramebufferParameteriv 會查詢指定幀緩衝區物件的參數。

外部文件。

連結到此函式

getGraphicsResetStatus()

檢視原始碼
-spec getGraphicsResetStatus() -> enum().

某些事件可能會導致 GL 內容重設。此類重設會導致所有內容狀態遺失,並要求應用程式在受影響的內容中重新建立所有物件。

外部文件。

連結到此函式

getHistogram(Target, Reset, Format, Type, Values)

檢視原始碼
-spec getHistogram(Target :: enum(), Reset :: 0 | 1, Format :: enum(), Type :: enum(), Values :: mem()) ->
                      ok.

gl:getHistogram/5 會將目前的長條圖表傳回為一維影像,其寬度與長條圖相同。此影像上不會執行任何像素傳輸操作,但會遵循適用於 1D 影像的像素儲存模式。

外部文件。

連結到此函式

getHistogramParameterfv(Target, Pname)

檢視原始碼
-spec getHistogramParameterfv(Target :: enum(), Pname :: enum()) -> {f()}.

等同於 getHistogramParameteriv/2

連結到此函式

getHistogramParameteriv(Target, Pname)

檢視原始碼
-spec getHistogramParameteriv(Target :: enum(), Pname :: enum()) -> {i()}.

gl:getHistogramParameter() 用於查詢目前長條圖或 Proxy 的參數值。長條圖狀態資訊可以透過呼叫 gl:getHistogramParameter() 並使用 Target?GL_HISTOGRAM (以取得目前長條圖表的資訊) 或 ?GL_PROXY_HISTOGRAM (以取得來自最近 Proxy 要求的資訊) 和 Pname 引數的下列其中一個值來查詢

外部文件。

連結到此函式

getInteger64i_v(Target, Index)

檢視原始碼
-spec getInteger64i_v(Target :: enum(), Index :: i()) -> [i()].

等同於 getIntegerv/1

-spec getInteger64v(Pname :: enum()) -> [i()].

等同於 getIntegerv/1

連結到此函式

getIntegeri_v(Target, Index)

檢視原始碼
-spec getIntegeri_v(Target :: enum(), Index :: i()) -> [i()].

等同於 getIntegerv/1

-spec getIntegerv(Pname :: enum()) -> [i()].

這些命令會傳回 GL 中簡單狀態變數的值。Pname 是一個符號常數,表示要傳回的狀態變數,而 Data 是一個指向指定類型陣列的指標,用於放置傳回的資料。

外部文件。

連結到此函式

getInternalformati64v(Target, Internalformat, Pname, BufSize)

檢視原始碼
-spec getInternalformati64v(Target :: enum(), Internalformat :: enum(), Pname :: enum(), BufSize :: i()) ->
                               [i()].

等同於 getInternalformativ/4

連結到此函式

getInternalformativ(Target, Internalformat, Pname, BufSize)

檢視原始碼
-spec getInternalformativ(Target :: enum(), Internalformat :: enum(), Pname :: enum(), BufSize :: i()) ->
                             [i()].

沒有可用的文件。

連結到此函式

getLightfv(Light, Pname)

檢視原始碼
-spec getLightfv(Light :: enum(), Pname :: enum()) -> {f(), f(), f(), f()}.

等同於 getLightiv/2

連結到此函式

getLightiv(Light, Pname)

檢視原始碼
-spec getLightiv(Light :: enum(), Pname :: enum()) -> {i(), i(), i(), i()}.

gl:getLight() 會在 Params 中傳回光源參數的值。 Light 會命名光源,並且是 ?GL_LIGHT i 形式的符號名稱,其中 i 的範圍從 0 到 ?GL_MAX_LIGHTS - 1 的值。?GL_MAX_LIGHTS 是一個實作相依的常數,大於或等於 8。 Pname 會透過符號名稱指定十個光源參數之一。

外部文件。

連結到此函式

getMapdv(Target, Query, V)

檢視原始碼
-spec getMapdv(Target :: enum(), Query :: enum(), V :: mem()) -> ok.

等同於 getMapiv/3

連結到此函式

getMapfv(Target, Query, V)

檢視原始碼
-spec getMapfv(Target :: enum(), Query :: enum(), V :: mem()) -> ok.

等同於 getMapiv/3

連結到此函式

getMapiv(Target, Query, V)

檢視原始碼
-spec getMapiv(Target :: enum(), Query :: enum(), V :: mem()) -> ok.

glMap1glMap2 定義求值器。gl:getMap() 會傳回求值器參數。Target 會選擇一個對應,Query 會選擇一個特定的參數,而 V 會指向儲存將傳回值的儲存區。

外部文件。

連結到此函式

getMaterialfv(Face, Pname)

檢視原始碼
-spec getMaterialfv(Face :: enum(), Pname :: enum()) -> {f(), f(), f(), f()}.

等同於 getMaterialiv/2

連結到此函式

getMaterialiv(Face, Pname)

檢視原始碼
-spec getMaterialiv(Face :: enum(), Pname :: enum()) -> {i(), i(), i(), i()}.

gl:getMaterial() 會在 Params 中傳回材質 Face 的參數 Pname 的值。定義了六個參數

外部文件。

連結到此函式

getMinmax(Target, Reset, Format, Types, Values)

檢視原始碼
-spec getMinmax(Target :: enum(), Reset :: 0 | 1, Format :: enum(), Types :: enum(), Values :: mem()) ->
                   ok.

gl:getMinmax/5 會傳回累積的最小和最大像素值 (以每個元件為基礎計算),在寬度為 2 的一維影像中。第一組傳回值是最小值,而第二組傳回值是最大值。傳回值的格式由 Format 決定,而其類型則由 Types 決定。

外部文件。

連結到此函式

getMinmaxParameterfv(Target, Pname)

檢視原始碼
-spec getMinmaxParameterfv(Target :: enum(), Pname :: enum()) -> {f()}.

等同於 getMinmaxParameteriv/2

連結到此函式

getMinmaxParameteriv(Target, Pname)

檢視原始碼
-spec getMinmaxParameteriv(Target :: enum(), Pname :: enum()) -> {i()}.

gl:getMinmaxParameter() 會透過將 Pname 設定為下列其中一個值來檢索目前最小最大值表的參數

外部文件。

連結到此函式

getMultisamplefv(Pname, Index)

檢視原始碼
-spec getMultisamplefv(Pname :: enum(), Index :: i()) -> {f(), f()}.

gl:getMultisamplefv/2 會查詢指定樣本的位置。Pname 會指定要檢索的樣本參數,且必須是 ?GL_SAMPLE_POSITIONIndex 對應於應傳回位置的樣本。樣本位置會以 Val[0]Val[1] 中的兩個浮點數值傳回,每個值都在 0 到 1 之間,分別對應於該樣本在 GL 像素空間中的 XY 位置。(0.5, 0.5) 這對應於像素中心。Index 必須介於 0 到 ?GL_SAMPLES 減 1 的值之間。

外部文件。

連結到此函式

getPixelMapfv(Map, Values)

檢視原始碼
-spec getPixelMapfv(Map :: enum(), Values :: mem()) -> ok.

等同於 getPixelMapusv/2

連結到此函式

getPixelMapuiv(Map, Values)

檢視原始碼
-spec getPixelMapuiv(Map :: enum(), Values :: mem()) -> ok.

等同於 getPixelMapusv/2

連結到此函式

getPixelMapusv(Map, Values)

檢視原始碼
-spec getPixelMapusv(Map :: enum(), Values :: mem()) -> ok.

請參閱 gl:pixelMap() 參考頁面,以取得 Map 參數的可接受值說明。gl:getPixelMap() 會在 Data 中傳回 Map 中指定的像素對應的內容。像素對應在執行 gl:readPixels/7gl:drawPixels/5gl:copyPixels/5gl:texImage1D/8gl:texImage2D/9gl:texImage3D/10gl:texSubImage1D/7gl:texSubImage2D/9gl:texSubImage3D/11gl:copyTexImage1D/7gl:copyTexImage2D/8gl:copyTexSubImage1D/6gl:copyTexSubImage2D/8gl:copyTexSubImage3D/9 時使用,以將色彩索引、樣板索引、色彩元件和深度元件對應到其他值。

外部文件。

-spec getPolygonStipple() -> binary().

gl:getPolygonStipple/0 會將 32×32 多邊形點畫圖案傳回至 Pattern。圖案會像呼叫 gl:readPixels/7,且 heightwidth 均為 32,type?GL_BITMAP,而 format?GL_COLOR_INDEX,且點畫圖案儲存在內部 32×32 色彩索引緩衝區中一樣,將圖案封裝到記憶體中。然而,與 gl:readPixels/7 不同的是,像素傳輸操作 (位移、偏移、像素對應) 不會套用至傳回的點畫影像。

外部文件。

連結到此函式

getProgramBinary(Program, BufSize)

檢視原始碼
-spec getProgramBinary(Program :: i(), BufSize :: i()) -> {BinaryFormat :: enum(), Binary :: binary()}.

gl:getProgramBinary/2 會將 Program 已編譯和連結的可執行檔的二進位表示法傳回至位元組陣列,其位址在 Binary 中指定。Binary 中可寫入的最大位元組數由 BufSize 指定。如果程式二進位的大小大於 BufSize 位元組,則會產生錯誤,否則寫入 Binary 的實際位元組數會傳回至位址由 Length 給定的變數。如果 Length?NULL,則不會傳回任何長度。

外部文件。

連結到此函式

getProgramInfoLog(Program, BufSize)

檢視原始碼
-spec getProgramInfoLog(Program :: i(), BufSize :: i()) -> string().

gl:getProgramInfoLog/2 會傳回指定程式物件的資訊記錄。當程式物件連結或驗證時,會修改程式物件的資訊記錄。傳回的字串將以 null 結尾。

外部文件。

連結到此函式

getProgramInterfaceiv(Program, ProgramInterface, Pname)

檢視原始碼
-spec getProgramInterfaceiv(Program :: i(), ProgramInterface :: enum(), Pname :: enum()) -> i().

gl:getProgramInterfaceiv/3 查詢由 Program 中的 ProgramInterface 所識別的介面屬性,其屬性名稱由 Pname 給定。

外部文件。

連結到此函式

getProgramiv(Program, Pname)

檢視原始碼
-spec getProgramiv(Program :: i(), Pname :: enum()) -> i().

gl:getProgram()Params 中傳回特定程式物件的參數值。定義了以下參數

外部文件。

連結到此函式

getProgramPipelineInfoLog(Pipeline, BufSize)

檢視原始碼
-spec getProgramPipelineInfoLog(Pipeline :: i(), BufSize :: i()) -> string().

gl:getProgramPipelineInfoLog/2 擷取程式管線物件 Pipeline 的資訊日誌。資訊日誌,包括其空終止符,會寫入位址由 InfoLog 給定的字元陣列中。InfoLog 中可寫入的最大字元數由 BufSize 給定,而寫入 InfoLog 的實際字元數會傳回在位址由 Length 給定的整數中。如果 Length?NULL,則不會傳回長度。

外部文件。

連結到此函式

getProgramPipelineiv(Pipeline, Pname)

檢視原始碼
-spec getProgramPipelineiv(Pipeline :: i(), Pname :: enum()) -> i().

gl:getProgramPipelineiv/2 擷取程式管線物件 Pipeline 的屬性值。Pname 指定要擷取其值的參數名稱。參數的值會寫入位址由 Params 給定的變數。

外部文件。

連結到此函式

getProgramResourceIndex(Program, ProgramInterface, Name)

檢視原始碼
-spec getProgramResourceIndex(Program :: i(), ProgramInterface :: enum(), Name :: string()) -> i().

gl:getProgramResourceIndex/3 傳回指派給程式物件 Program 的介面類型 ProgramInterface 中名為 Name 的資源的無符號整數索引。

外部文件。

連結到此函式

getProgramResourceLocation(Program, ProgramInterface, Name)

檢視原始碼
-spec getProgramResourceLocation(Program :: i(), ProgramInterface :: enum(), Name :: string()) -> i().

gl:getProgramResourceLocation/3 傳回指派給程式物件 Program 的介面 ProgramInterface 中名為 Name 的變數的位置。Program 必須是已成功連結的程式的名稱。ProgramInterface 必須是 ?GL_UNIFORM?GL_PROGRAM_INPUT?GL_PROGRAM_OUTPUT?GL_VERTEX_SUBROUTINE_UNIFORM?GL_TESS_CONTROL_SUBROUTINE_UNIFORM?GL_TESS_EVALUATION_SUBROUTINE_UNIFORM?GL_GEOMETRY_SUBROUTINE_UNIFORM?GL_FRAGMENT_SUBROUTINE_UNIFORM?GL_COMPUTE_SUBROUTINE_UNIFORM?GL_TRANSFORM_FEEDBACK_BUFFER 其中之一。

外部文件。

連結到此函式

getProgramResourceLocationIndex(Program, ProgramInterface, Name)

檢視原始碼
-spec getProgramResourceLocationIndex(Program :: i(), ProgramInterface :: enum(), Name :: string()) ->
                                         i().

gl:getProgramResourceLocationIndex/3 傳回指派給程式物件 Program 的介面 ProgramInterface 中名為 Name 的變數的片段顏色索引。Program 必須是已成功連結的程式的名稱。ProgramInterface 必須是 ?GL_PROGRAM_OUTPUT

外部文件。

連結到此函式

getProgramResourceName(Program, ProgramInterface, Index, BufSize)

檢視原始碼
-spec getProgramResourceName(Program :: i(), ProgramInterface :: enum(), Index :: i(), BufSize :: i()) ->
                                string().

gl:getProgramResourceName/4 擷取指派給程式物件 Program 的介面 ProgramInterface 中索引為 Index 的單一作用中資源的名稱字串。Index 必須小於 ProgramInterface 的作用中資源列表中的項目數。

外部文件。

連結到此函式

getProgramStageiv(Program, Shadertype, Pname)

檢視原始碼
-spec getProgramStageiv(Program :: i(), Shadertype :: enum(), Pname :: enum()) -> i().

gl:getProgramStage() 查詢附加到程式物件的著色器階段的參數。Program 包含附加著色器的程式名稱。Shadertype 指定要從中查詢參數的階段。Pname 指定應查詢哪個參數。要查詢的參數值會傳回在位址由 Values 給定的變數中。

外部文件。

連結到此函式

getQueryBufferObjecti64v(Id, Buffer, Pname, Offset)

檢視原始碼
-spec getQueryBufferObjecti64v(Id :: i(), Buffer :: i(), Pname :: enum(), Offset :: i()) -> ok.

等效於 getQueryObjectuiv/2

連結到此函式

getQueryBufferObjectiv(Id, Buffer, Pname, Offset)

檢視原始碼
-spec getQueryBufferObjectiv(Id :: i(), Buffer :: i(), Pname :: enum(), Offset :: i()) -> ok.

等效於 getQueryObjectuiv/2

連結到此函式

getQueryBufferObjectui64v(Id, Buffer, Pname, Offset)

檢視原始碼
-spec getQueryBufferObjectui64v(Id :: i(), Buffer :: i(), Pname :: enum(), Offset :: i()) -> ok.

等效於 getQueryObjectuiv/2

連結到此函式

getQueryBufferObjectuiv(Id, Buffer, Pname, Offset)

檢視原始碼
-spec getQueryBufferObjectuiv(Id :: i(), Buffer :: i(), Pname :: enum(), Offset :: i()) -> ok.

等效於 getQueryObjectuiv/2

連結到此函式

getQueryIndexediv(Target, Index, Pname)

檢視原始碼
-spec getQueryIndexediv(Target :: enum(), Index :: i(), Pname :: enum()) -> i().

gl:getQueryIndexediv/3Params 中傳回由 TargetIndex 指定的索引查詢物件目標的選定參數。Index 指定查詢物件目標的索引,且必須介於零和目標特定的最大值之間。

外部文件。

連結到此函式

getQueryiv(Target, Pname)

檢視原始碼
-spec getQueryiv(Target :: enum(), Pname :: enum()) -> i().

gl:getQueryiv/2Params 中傳回由 Target 指定的查詢物件目標的選定參數。

外部文件。

連結到此函式

getQueryObjecti64v(Id, Pname)

檢視原始碼
-spec getQueryObjecti64v(Id :: i(), Pname :: enum()) -> i().

等效於 getQueryObjectuiv/2

連結到此函式

getQueryObjectiv(Id, Pname)

檢視原始碼
-spec getQueryObjectiv(Id :: i(), Pname :: enum()) -> i().

等效於 getQueryObjectuiv/2

連結到此函式

getQueryObjectui64v(Id, Pname)

檢視原始碼
-spec getQueryObjectui64v(Id :: i(), Pname :: enum()) -> i().

等效於 getQueryObjectuiv/2

連結到此函式

getQueryObjectuiv(Id, Pname)

檢視原始碼
-spec getQueryObjectuiv(Id :: i(), Pname :: enum()) -> i().

這些命令傳回由 Id 指定的查詢物件的選定參數。gl:getQueryObject()Params 中傳回由 Id 指定的查詢物件的選定參數。gl:getQueryBufferObject() 透過將其寫入 Buffer 的資料儲存區中,以由 Offset 指定的位元組偏移量,傳回由 Id 指定的查詢物件的選定參數。

外部文件。

連結到此函式

getRenderbufferParameteriv(Target, Pname)

檢視原始碼
-spec getRenderbufferParameteriv(Target :: enum(), Pname :: enum()) -> i().

gl:getRenderbufferParameteriv/2glGetNamedRenderbufferParameteriv 查詢指定的渲染緩衝區物件的參數。

外部文件。

連結到此函式

getSamplerParameterfv(Sampler, Pname)

檢視原始碼
-spec getSamplerParameterfv(Sampler :: i(), Pname :: enum()) -> [f()].

等效於 getSamplerParameteriv/2

連結到此函式

getSamplerParameterIiv(Sampler, Pname)

檢視原始碼
-spec getSamplerParameterIiv(Sampler :: i(), Pname :: enum()) -> [i()].

等效於 getSamplerParameteriv/2

連結到此函式

getSamplerParameterIuiv(Sampler, Pname)

檢視原始碼
-spec getSamplerParameterIuiv(Sampler :: i(), Pname :: enum()) -> [i()].

等效於 getSamplerParameteriv/2

連結到此函式

getSamplerParameteriv(Sampler, Pname)

檢視原始碼
-spec getSamplerParameteriv(Sampler :: i(), Pname :: enum()) -> [i()].

gl:getSamplerParameter()Params 中傳回指定為 Pname 的取樣器參數值。Sampler 定義目標取樣器,且必須是現有取樣器物件的名稱,從先前呼叫 gl:genSamplers/1 傳回。Pname 接受與 gl:samplerParameter() 相同的符號,具有相同的解釋。

外部文件。

連結到此函式

getShaderInfoLog(Shader, BufSize)

檢視原始碼
-spec getShaderInfoLog(Shader :: i(), BufSize :: i()) -> string().

gl:getShaderInfoLog/2 傳回指定著色器物件的資訊日誌。當編譯著色器時,會修改著色器物件的資訊日誌。傳回的字串將會以空字元結尾。

外部文件。

連結到此函式

getShaderiv(Shader, Pname)

檢視原始碼
-spec getShaderiv(Shader :: i(), Pname :: enum()) -> i().

gl:getShader()Params 中傳回特定著色器物件的參數值。定義了以下參數

外部文件。

連結到此函式

getShaderPrecisionFormat(Shadertype, Precisiontype)

檢視原始碼
-spec getShaderPrecisionFormat(Shadertype :: enum(), Precisiontype :: enum()) ->
                                  {Range :: {i(), i()}, Precision :: i()}.

gl:getShaderPrecisionFormat/2 擷取在指定著色器類型中,以不同數值格式表示數量的實作數值範圍和精確度。ShaderType 指定要擷取其數值精確度和範圍的著色器類型,且必須是 ?GL_VERTEX_SHADER?GL_FRAGMENT_SHADER 其中之一。PrecisionType 指定要查詢的數值格式,且必須是 ?GL_LOW_FLOAT?GL_MEDIUM_FLOAT``?GL_HIGH_FLOAT?GL_LOW_INT?GL_MEDIUM_INT?GL_HIGH_INT 其中之一。

外部文件。

連結到此函式

getShaderSource(Shader, BufSize)

檢視原始碼
-spec getShaderSource(Shader :: i(), BufSize :: i()) -> string().

gl:getShaderSource/2 傳回由 Shader 指定的著色器物件的原始碼字串串聯。著色器物件的原始碼字串是先前呼叫 gl:shaderSource/2 的結果。此函式傳回的字串將會以空字元結尾。

外部文件。

-spec getString(Name :: enum()) -> string().

等效於 getStringi/2

連結到此函式

getStringi(Name, Index)

檢視原始碼
-spec getStringi(Name :: enum(), Index :: i()) -> string().

gl:getString/1 傳回指向描述目前 GL 連線某些方面的靜態字串的指標。Name 可以是以下其中之一

外部文件。

連結到此函式

getSubroutineIndex(Program, Shadertype, Name)

檢視原始碼
-spec getSubroutineIndex(Program :: i(), Shadertype :: enum(), Name :: string()) -> i().

gl:getSubroutineIndex/3 傳回附加到程式物件的著色器階段中的子程式一致變數的索引。Program 包含附加著色器的程式名稱。Shadertype 指定要從中查詢著色器子程式索引的階段。Name 包含要查詢其名稱的子程式一致變數的空終止名稱。

外部文件。

連結到此函式

getSubroutineUniformLocation(Program, Shadertype, Name)

檢視原始碼
-spec getSubroutineUniformLocation(Program :: i(), Shadertype :: enum(), Name :: string()) -> i().

gl:getSubroutineUniformLocation/3 傳回附加到 Program 的類型為 Shadertype 的著色器階段中子程式一致變數 Name 的位置,其行為與 gl:getUniformLocation/2 相同。

外部文件。

連結到此函式

getSynciv(Sync, Pname, BufSize)

檢視原始碼
-spec getSynciv(Sync :: i(), Pname :: enum(), BufSize :: i()) -> [i()].

gl:getSynciv/3 擷取同步物件的屬性。Sync 指定要擷取其屬性的同步物件的名稱。

外部文件。

連結到此函式

getTexEnvfv(Target, Pname)

檢視原始碼
-spec getTexEnvfv(Target :: enum(), Pname :: enum()) -> {f(), f(), f(), f()}.

等效於 getTexEnviv/2

連結到此函式

getTexEnviv(Target, Pname)

檢視原始碼
-spec getTexEnviv(Target :: enum(), Pname :: enum()) -> {i(), i(), i(), i()}.

gl:getTexEnv()Params 中傳回使用 gl:texEnv() 指定的紋理環境的選定值。Target 指定紋理環境。

外部文件。

連結到此函式

getTexGendv(Coord, Pname)

檢視原始碼
-spec getTexGendv(Coord :: enum(), Pname :: enum()) -> {f(), f(), f(), f()}.

等效於 getTexGeniv/2

連結到此函式

getTexGenfv(Coord, Pname)

檢視原始碼
-spec getTexGenfv(Coord :: enum(), Pname :: enum()) -> {f(), f(), f(), f()}.

等效於 getTexGeniv/2

連結到此函式

getTexGeniv(Coord, Pname)

檢視原始碼
-spec getTexGeniv(Coord :: enum(), Pname :: enum()) -> {i(), i(), i(), i()}.

gl:getTexGen()Params 中傳回使用 gl:texGen() 指定的紋理座標產生函式的選定參數。Coord 使用符號常數 ?GL_S?GL_T?GL_R?GL_Q,命名其中一個 (strq) 紋理座標。

外部文件。

連結到此函式

getTexImage(Target, Level, Format, Type, Pixels)

檢視原始碼
-spec getTexImage(Target :: enum(), Level :: i(), Format :: enum(), Type :: enum(), Pixels :: mem()) ->
                     ok.

gl:getTexImage/5glGetnTexImageglGetTextureImage 函式會將紋理影像回傳到 Pixels 中。對於 gl:getTexImage/5glGetnTexImageTarget 指定所需的紋理影像是由 gl:texImage1D/8 (?GL_TEXTURE_1D)、gl:texImage2D/9 (?GL_TEXTURE_1D_ARRAY?GL_TEXTURE_RECTANGLE?GL_TEXTURE_2D 或任何 ?GL_TEXTURE_CUBE_MAP_*) 或 gl:texImage3D/10 (?GL_TEXTURE_2D_ARRAY?GL_TEXTURE_3D?GL_TEXTURE_CUBE_MAP_ARRAY) 所指定。對於 glGetTextureImageTexture 指定紋理物件名稱。除了 gl:getTexImage/5glGetnTexImage 接受的紋理類型外,此函式也接受立方體貼圖紋理物件 (具有有效目標 ?GL_TEXTURE_CUBE_MAP)。Level 指定所需影像的詳細層級編號。FormatType 指定所需影像陣列的格式和類型。請參閱 gl:texImage1D/8 的參考頁面,以了解 FormatType 參數的可接受值。對於 glGetnTexImage 和 glGetTextureImage 函式,bufSize 會告知接收擷取像素資料的緩衝區大小。glGetnTexImageglGetTextureImage 不會將超過 BufSize 個位元組寫入到 Pixels 中。

外部文件。

連結到此函式

getTexLevelParameterfv(Target, Level, Pname)

檢視原始碼
-spec getTexLevelParameterfv(Target :: enum(), Level :: i(), Pname :: enum()) -> {f()}.

等同於 getTexLevelParameteriv/3

連結到此函式

getTexLevelParameteriv(Target, Level, Pname)

檢視原始碼
-spec getTexLevelParameteriv(Target :: enum(), Level :: i(), Pname :: enum()) -> {i()}.

gl:getTexLevelParameterfv/3gl:getTexLevelParameteriv/3glGetTextureLevelParameterfvglGetTextureLevelParameteriv 會在 Params 中回傳特定詳細層級值 (指定為 Level) 的紋理參數值。對於前兩個函式,Target 定義目標紋理,其為 ?GL_TEXTURE_1D?GL_TEXTURE_2D?GL_TEXTURE_3D?GL_PROXY_TEXTURE_1D?GL_PROXY_TEXTURE_2D?GL_PROXY_TEXTURE_3D?GL_TEXTURE_CUBE_MAP_POSITIVE_X?GL_TEXTURE_CUBE_MAP_NEGATIVE_X?GL_TEXTURE_CUBE_MAP_POSITIVE_Y?GL_TEXTURE_CUBE_MAP_NEGATIVE_Y?GL_TEXTURE_CUBE_MAP_POSITIVE_Z?GL_TEXTURE_CUBE_MAP_NEGATIVE_Z?GL_PROXY_TEXTURE_CUBE_MAP。剩餘的兩個函式會採用 Texture 引數,該引數指定紋理物件的名稱。

外部文件。

連結到此函式

getTexParameterfv(Target, Pname)

檢視原始碼
-spec getTexParameterfv(Target :: enum(), Pname :: enum()) -> {f(), f(), f(), f()}.

等同於 getTexParameteriv/2

連結到此函式

getTexParameterIiv(Target, Pname)

檢視原始碼
-spec getTexParameterIiv(Target :: enum(), Pname :: enum()) -> {i(), i(), i(), i()}.

等同於 getTexParameteriv/2

連結到此函式

getTexParameterIuiv(Target, Pname)

檢視原始碼
-spec getTexParameterIuiv(Target :: enum(), Pname :: enum()) -> {i(), i(), i(), i()}.

等同於 getTexParameteriv/2

連結到此函式

getTexParameteriv(Target, Pname)

檢視原始碼
-spec getTexParameteriv(Target :: enum(), Pname :: enum()) -> {i(), i(), i(), i()}.

gl:getTexParameter()glGetTextureParameter 會在 Params 中回傳指定為 Pname 的紋理參數的值。 Target 定義目標紋理。?GL_TEXTURE_1D?GL_TEXTURE_2D?GL_TEXTURE_3D?GL_TEXTURE_1D_ARRAY?GL_TEXTURE_2D_ARRAY?GL_TEXTURE_RECTANGLE?GL_TEXTURE_CUBE_MAP?GL_TEXTURE_CUBE_MAP_ARRAY?GL_TEXTURE_2D_MULTISAMPLE?GL_TEXTURE_2D_MULTISAMPLE_ARRAY 分別指定一維、二維或三維、一維陣列、二維陣列、矩形、立方體貼圖或立方體貼圖陣列、二維多重採樣或二維多重採樣陣列紋理。Pname 接受與 gl:texParameter() 相同的符號,並具有相同的解譯。

外部文件。

連結到此函式

getTransformFeedbackVarying(Program, Index, BufSize)

檢視原始碼
-spec getTransformFeedbackVarying(Program :: i(), Index :: i(), BufSize :: i()) ->
                                     {Size :: i(), Type :: enum(), Name :: string()}.

可以透過呼叫 gl:getTransformFeedbackVarying/3 來擷取有關連結程式中將在轉換回饋期間擷取的 varying 變數集資訊。gl:getTransformFeedbackVarying/3 提供有關由 Index 選取的 varying 變數的資訊。 Index 為 0 會選取傳遞至 gl:transformFeedbackVaryings/3Varyings 陣列中所指定的第一個 varying 變數,而 Index 的值為 ?GL_TRANSFORM_FEEDBACK_VARYINGS 減一則會選取最後一個這類變數。

外部文件。

連結到此函式

getUniformBlockIndex(Program, UniformBlockName)

檢視原始碼
-spec getUniformBlockIndex(Program :: i(), UniformBlockName :: string()) -> i().

gl:getUniformBlockIndex/2 會擷取 Program 內均勻區塊的索引。

外部文件。

連結到此函式

getUniformdv(Program, Location)

檢視原始碼
-spec getUniformdv(Program :: i(), Location :: i()) -> matrix().

等同於 getUniformuiv/2

連結到此函式

getUniformfv(Program, Location)

檢視原始碼
-spec getUniformfv(Program :: i(), Location :: i()) -> matrix().

等同於 getUniformuiv/2

連結到此函式

getUniformIndices(Program, UniformNames)

檢視原始碼
-spec getUniformIndices(Program :: i(), UniformNames :: [unicode:chardata()]) -> [i()].

gl:getUniformIndices/2 會擷取 Program 內多個均勻變數的索引。

外部文件。

連結到此函式

getUniformiv(Program, Location)

檢視原始碼
-spec getUniformiv(Program :: i(), Location :: i()) ->
                      {i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i()}.

等同於 getUniformuiv/2

連結到此函式

getUniformLocation(Program, Name)

檢視原始碼
-spec getUniformLocation(Program :: i(), Name :: string()) -> i().

glGetUniformLocation 會回傳一個整數,該整數代表程式物件內特定均勻變數的位置。Name 必須是以 null 終止且不包含空白字元的字串。Name 必須是 Program 中不是結構、結構陣列或向量或矩陣子元件的活動均勻變數名稱。如果 Name 沒有對應於 Program 中的活動均勻變數、如果 Name 以保留字首 "gl_" 開頭,或如果 Name 與原子計數器或具名均勻區塊相關聯,則此函式會回傳 -1。

外部文件。

連結到此函式

getUniformSubroutineuiv(Shadertype, Location)

檢視原始碼
-spec getUniformSubroutineuiv(Shadertype :: enum(), Location :: i()) ->
                                 {i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i(),
                                  i()}.

gl:getUniformSubroutine() 會擷取目前程式的著色器階段 Shadertype 的位置 Location 中副程式均勻變數的值。 Location 必須小於目前在著色器階段 Shadertype 使用的著色器的 ?GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 值。副程式均勻變數的值會在 Values 中回傳。

外部文件。

連結到此函式

getUniformuiv(Program, Location)

檢視原始碼
-spec getUniformuiv(Program :: i(), Location :: i()) ->
                       {i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i(), i()}.

gl:getUniform()glGetnUniform 會在 Params 中回傳指定均勻變數的值。由 Location 指定的均勻變數類型決定回傳的值數。如果均勻變數在著色器中定義為布林值、整數或浮點數,則會回傳單一值。如果定義為 vec2、ivec2 或 bvec2,則會回傳兩個值。如果定義為 vec3、ivec3 或 bvec3,則會回傳三個值,依此類推。若要查詢儲存在宣告為陣列的均勻變數中的值,請針對陣列的每個元素呼叫 gl:getUniform()。若要查詢儲存在宣告為結構的均勻變數中的值,請針對結構中的每個欄位呼叫 gl:getUniform()。宣告為矩陣的均勻變數的值會以欄主序回傳。

外部文件。

連結到此函式

getVertexAttribdv(Index, Pname)

檢視原始碼
-spec getVertexAttribdv(Index :: i(), Pname :: enum()) -> {f(), f(), f(), f()}.

等同於 getVertexAttribiv/2

連結到此函式

getVertexAttribfv(Index, Pname)

檢視原始碼
-spec getVertexAttribfv(Index :: i(), Pname :: enum()) -> {f(), f(), f(), f()}.

等同於 getVertexAttribiv/2

連結到此函式

getVertexAttribIiv(Index, Pname)

檢視原始碼
-spec getVertexAttribIiv(Index :: i(), Pname :: enum()) -> {i(), i(), i(), i()}.

等同於 getVertexAttribiv/2

連結到此函式

getVertexAttribIuiv(Index, Pname)

檢視原始碼
-spec getVertexAttribIuiv(Index :: i(), Pname :: enum()) -> {i(), i(), i(), i()}.

等同於 getVertexAttribiv/2

連結到此函式

getVertexAttribiv(Index, Pname)

檢視原始碼
-spec getVertexAttribiv(Index :: i(), Pname :: enum()) -> {i(), i(), i(), i()}.

gl:getVertexAttrib() 會在 Params 中回傳一般頂點屬性參數的值。要查詢的一般頂點屬性是由 Index 指定,而要查詢的參數是由 Pname 指定。

外部文件。

連結到此函式

getVertexAttribLdv(Index, Pname)

檢視原始碼
-spec getVertexAttribLdv(Index :: i(), Pname :: enum()) -> {f(), f(), f(), f()}.

等同於 getVertexAttribiv/2

-spec hint(Target :: enum(), Mode :: enum()) -> ok.

在有解譯空間時,GL 行為的某些方面可以使用提示來控制。提示會以兩個引數指定。 Target 是一個符號常數,指示要控制的行為,而 Mode 是另一個符號常數,指示所需的行為。每個 Target 的初始值為 ?GL_DONT_CAREMode 可以是下列其中之一

外部文件。

連結到此函式

histogram(Target, Width, Internalformat, Sink)

檢視原始碼
-spec histogram(Target :: enum(), Width :: i(), Internalformat :: enum(), Sink :: 0 | 1) -> ok.

當啟用 ?GL_HISTOGRAM 時,RGBA 顏色元件會透過限制在 [0,1] 範圍、乘以直方圖表格的寬度,並四捨五入到最接近的整數來轉換為直方圖表格索引。然後,會遞增由 RGBA 索引選取的表格項目。(如果直方圖表格的內部格式包含亮度,則從 R 顏色元件衍生的索引會決定要遞增的亮度表格項目。)如果直方圖表格項目的遞增值超過其最大值,則其值會變成未定義。(這不是錯誤。)

外部文件。

-spec indexd(C :: f()) -> ok.

等同於 indexubv/1

-spec indexdv({C :: f()}) -> ok.

等同於 indexubv/1

-spec indexf(C :: f()) -> ok.

等同於 indexubv/1

-spec indexfv({C :: f()}) -> ok.

等同於 indexubv/1

-spec indexi(C :: i()) -> ok.

等同於 indexubv/1

-spec indexiv({C :: i()}) -> ok.

等同於 indexubv/1

-spec indexMask(Mask :: i()) -> ok.

gl:indexMask/1 控制顏色索引緩衝區中個別位元的寫入。Mask 的最低有效位 n 位 (其中 n 是顏色索引緩衝區中的位元數) 會指定遮罩。當遮罩中出現 1 (一) 時,就可以寫入顏色索引緩衝區 (或多個緩衝區) 中的對應位元。當出現 0 (零) 時,對應的位元會受到寫入保護。

外部文件。

連結到此函式

indexPointer(Type, Stride, Ptr)

檢視原始碼
-spec indexPointer(Type :: enum(), Stride :: i(), Ptr :: offset() | mem()) -> ok.

gl:indexPointer/3 指定要轉譯時所使用的顏色索引陣列的位置和資料格式。Type 指定每個顏色索引的資料類型,而 Stride 指定從一個顏色索引到下一個顏色索引的位元組跨距,允許將頂點和屬性封裝到單一陣列中或儲存在個別陣列中。

外部文件。

-spec indexs(C :: i()) -> ok.

等同於 indexubv/1

-spec indexsv({C :: i()}) -> ok.

等同於 indexubv/1

-spec indexub(C :: i()) -> ok.

等同於 indexubv/1

-spec indexubv({C :: i()}) -> ok.

gl:index() 更新目前的(單一值)顏色索引。它接受一個參數,即目前顏色索引的新值。

外部文件。

-spec initNames() -> ok.

名稱堆疊在選取模式期間使用,以允許唯一識別渲染命令的集合。它由一組已排序的無符號整數組成。gl:initNames/0 會將名稱堆疊初始化為其預設的空狀態。

外部文件。

連結到此函式

interleavedArrays(Format, Stride, Pointer)

檢視原始碼
-spec interleavedArrays(Format :: enum(), Stride :: i(), Pointer :: offset() | mem()) -> ok.

gl:interleavedArrays/3 允許您指定並啟用個別的顏色、法線、紋理和頂點陣列,其元素是較大聚合陣列元素的一部分。對於某些實作,這比單獨指定陣列更有效率。

外部文件。

連結到此函式

invalidateBufferData(Buffer)

檢視原始碼
-spec invalidateBufferData(Buffer :: i()) -> ok.

gl:invalidateBufferData/1 使緩衝區物件的資料儲存區的所有內容失效。失效後,緩衝區資料儲存區的內容會變成未定義。

外部文件。

連結到此函式

invalidateBufferSubData(Buffer, Offset, Length)

檢視原始碼
-spec invalidateBufferSubData(Buffer :: i(), Offset :: i(), Length :: i()) -> ok.

gl:invalidateBufferSubData/3 使緩衝區物件的資料儲存區的全部或部分內容失效。失效後,緩衝區資料儲存區指定範圍的內容會變成未定義。範圍的起始位置由 Offset 給定,其大小由 Length 給定,兩者均以基本機器單位測量。

外部文件。

連結到此函式

invalidateFramebuffer(Target, Attachments)

檢視原始碼
-spec invalidateFramebuffer(Target :: enum(), Attachments :: [enum()]) -> ok.

gl:invalidateFramebuffer/2glInvalidateNamedFramebufferData 使影格緩衝區指定的一組附件的全部內容失效。

外部文件。

連結到此函式

invalidateSubFramebuffer(Target, Attachments, X, Y, Width, Height)

檢視原始碼
-spec invalidateSubFramebuffer(Target :: enum(),
                               Attachments :: [enum()],
                               X :: i(),
                               Y :: i(),
                               Width :: i(),
                               Height :: i()) ->
                                  ok.

gl:invalidateSubFramebuffer/6glInvalidateNamedFramebufferSubData 使影格緩衝區指定的一組附件的指定區域的內容失效。

外部文件。

連結到此函式

invalidateTexImage(Texture, Level)

檢視原始碼
-spec invalidateTexImage(Texture :: i(), Level :: i()) -> ok.

gl:invalidateTexSubImage/8 使整個紋理影像失效。TextureLevel 指示要失效的紋理影像。此命令之後,紋理影像中的資料具有未定義的值。

外部文件。

連結到此函式

invalidateTexSubImage(Texture, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth)

檢視原始碼
-spec invalidateTexSubImage(Texture, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth) -> ok
                               when
                                   Texture :: i(),
                                   Level :: i(),
                                   Xoffset :: i(),
                                   Yoffset :: i(),
                                   Zoffset :: i(),
                                   Width :: i(),
                                   Height :: i(),
                                   Depth :: i().

gl:invalidateTexSubImage/8 使紋理影像的全部或部分失效。TextureLevel 指示要失效的紋理影像。此命令之後,該子區域中的資料具有未定義的值。XoffsetYoffsetZoffsetWidthHeightDepth 的解讀方式與 gl:texSubImage3D/11 中相同。對於不具有特定維度的紋理目標,此命令會將這些維度視為大小為 1。例如,若要使二維紋理的一部分失效,應用程式會使用等於零的 Zoffset 和等於一的 Depth。立方體貼圖紋理會被視為 z 維度中的六個切片的陣列,其中 Zoffset 的值會被解讀為指定面 ?GL_TEXTURE_CUBE_MAP_POSITIVE_X + Zoffset

外部文件。

-spec isBuffer(Buffer :: i()) -> 0 | 1.

如果 Buffer 目前是緩衝區物件的名稱,gl:isBuffer/1 會傳回 ?GL_TRUE。如果 Buffer 為零,或是一個非零值,但目前不是緩衝區物件的名稱,或是發生錯誤,gl:isBuffer/1 會傳回 ?GL_FALSE

外部文件。

-spec isEnabled(Cap :: enum()) -> 0 | 1.

等同於 isEnabledi/2

連結到此函式

isEnabledi(Target, Index)

檢視原始碼
-spec isEnabledi(Target :: enum(), Index :: i()) -> 0 | 1.

如果 Cap 是一個已啟用的功能,gl:isEnabled/1 會傳回 ?GL_TRUE,否則會傳回 ?GL_FALSE。可以使用 gl:isEnabledi/2 測試已建立索引的布林狀態。對於 gl:isEnabledi/2Index 指定要測試的功能索引。Index 必須介於零和 Cap 的已建立索引的功能計數之間。一開始,除了 ?GL_DITHER 之外的所有功能都會停用;?GL_DITHER 一開始會啟用。

外部文件。

連結到此函式

isFramebuffer(Framebuffer)

檢視原始碼
-spec isFramebuffer(Framebuffer :: i()) -> 0 | 1.

如果 Framebuffer 目前是影格緩衝區物件的名稱,gl:isFramebuffer/1 會傳回 ?GL_TRUE。如果 Framebuffer 為零,或如果 ?framebuffer 不是影格緩衝區物件的名稱,或是發生錯誤,gl:isFramebuffer/1 會傳回 ?GL_FALSE。如果 Framebuffer 是由 gl:genFramebuffers/1 傳回的名稱,但尚未透過呼叫 gl:bindFramebuffer/2 來繫結,則該名稱不是影格緩衝區物件,而 gl:isFramebuffer/1 會傳回 ?GL_FALSE

外部文件。

-spec isList(List :: i()) -> 0 | 1.

如果 List 是顯示清單的名稱,gl:isList/1 會傳回 ?GL_TRUE,如果不是,或是發生錯誤,則會傳回 ?GL_FALSE

外部文件。

-spec isProgram(Program :: i()) -> 0 | 1.

如果 Program 是先前使用 gl:createProgram/0 建立且尚未透過 gl:deleteProgram/1 刪除的程式物件名稱,gl:isProgram/1 會傳回 ?GL_TRUE。如果 Program 為零或是一個非零值,但不是程式物件的名稱,或是發生錯誤,gl:isProgram/1 會傳回 ?GL_FALSE

外部文件。

連結到此函式

isProgramPipeline(Pipeline)

檢視原始碼
-spec isProgramPipeline(Pipeline :: i()) -> 0 | 1.

如果 Pipeline 目前是程式管線物件的名稱,gl:isProgramPipeline/1 會傳回 ?GL_TRUE。如果 Pipeline 為零,或如果 ?pipeline 不是程式管線物件的名稱,或是發生錯誤,gl:isProgramPipeline/1 會傳回 ?GL_FALSE。如果 Pipeline 是由 gl:genProgramPipelines/1 傳回的名稱,但尚未透過呼叫 gl:bindProgramPipeline/1 來繫結,則該名稱不是程式管線物件,而 gl:isProgramPipeline/1 會傳回 ?GL_FALSE

外部文件。

-spec isQuery(Id :: i()) -> 0 | 1.

如果 Id 目前是查詢物件的名稱,gl:isQuery/1 會傳回 ?GL_TRUE。如果 Id 為零,或是一個非零值,但目前不是查詢物件的名稱,或是發生錯誤,gl:isQuery/1 會傳回 ?GL_FALSE

外部文件。

連結到此函式

isRenderbuffer(Renderbuffer)

檢視原始碼
-spec isRenderbuffer(Renderbuffer :: i()) -> 0 | 1.

如果 Renderbuffer 目前是渲染緩衝區物件的名稱,gl:isRenderbuffer/1 會傳回 ?GL_TRUE。如果 Renderbuffer 為零,或如果 Renderbuffer 不是渲染緩衝區物件的名稱,或是發生錯誤,gl:isRenderbuffer/1 會傳回 ?GL_FALSE。如果 Renderbuffer 是由 gl:genRenderbuffers/1 傳回的名稱,但尚未透過呼叫 gl:bindRenderbuffer/2gl:framebufferRenderbuffer/4 來繫結,則該名稱不是渲染緩衝區物件,而 gl:isRenderbuffer/1 會傳回 ?GL_FALSE

外部文件。

-spec isSampler(Sampler :: i()) -> 0 | 1.

如果 Id 目前是取樣器物件的名稱,gl:isSampler/1 會傳回 ?GL_TRUE。如果 Id 為零,或是一個非零值,但目前不是取樣器物件的名稱,或是發生錯誤,gl:isSampler/1 會傳回 ?GL_FALSE

外部文件。

-spec isShader(Shader :: i()) -> 0 | 1.

如果 Shader 是先前使用 gl:createShader/1 建立且尚未透過 gl:deleteShader/1 刪除的著色器物件名稱,gl:isShader/1 會傳回 ?GL_TRUE。如果 Shader 為零或是一個非零值,但不是著色器物件的名稱,或是發生錯誤,glIsShader 會傳回 ?GL_FALSE

外部文件。

-spec isSync(Sync :: i()) -> 0 | 1.

如果 Sync 目前是同步物件的名稱,gl:isSync/1 會傳回 ?GL_TRUE。如果 Sync 不是同步物件的名稱,或是發生錯誤,gl:isSync/1 會傳回 ?GL_FALSE。請注意,零不是同步物件的名稱。

外部文件。

-spec isTexture(Texture :: i()) -> 0 | 1.

如果 Texture 目前是紋理的名稱,gl:isTexture/1 會傳回 ?GL_TRUE。如果 Texture 為零,或是一個非零值,但目前不是紋理的名稱,或是發生錯誤,gl:isTexture/1 會傳回 ?GL_FALSE

外部文件。

連結到此函式

isTransformFeedback(Id)

檢視原始碼
-spec isTransformFeedback(Id :: i()) -> 0 | 1.

如果 Id 目前是轉換回饋物件的名稱,gl:isTransformFeedback/1 會傳回 ?GL_TRUE。如果 Id 為零,或如果 ?id 不是轉換回饋物件的名稱,或是發生錯誤,gl:isTransformFeedback/1 會傳回 ?GL_FALSE。如果 Id 是由 gl:genTransformFeedbacks/1 傳回的名稱,但尚未透過呼叫 gl:bindTransformFeedback/2 來繫結,則該名稱不是轉換回饋物件,而 gl:isTransformFeedback/1 會傳回 ?GL_FALSE

外部文件。

-spec isVertexArray(Array :: i()) -> 0 | 1.

如果 Array 目前是頂點陣列物件的名稱,gl:isVertexArray/1 會傳回 ?GL_TRUE。如果 Array 為零,或如果 Array 不是頂點陣列物件的名稱,或是發生錯誤,gl:isVertexArray/1 會傳回 ?GL_FALSE。如果 Array 是由 gl:genVertexArrays/1 傳回的名稱,但尚未透過呼叫 gl:bindVertexArray/1 來繫結,則該名稱不是頂點陣列物件,而 gl:isVertexArray/1 會傳回 ?GL_FALSE

外部文件。

連結到此函式

lightf(Light, Pname, Param)

檢視原始碼
-spec lightf(Light :: enum(), Pname :: enum(), Param :: f()) -> ok.

等同於 lightiv/3

連結到此函式

lightfv(Light, Pname, Params)

檢視原始碼
-spec lightfv(Light :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 lightiv/3

連結到此函式

lighti(Light, Pname, Param)

檢視原始碼
-spec lighti(Light :: enum(), Pname :: enum(), Param :: i()) -> ok.

等同於 lightiv/3

連結到此函式

lightiv(Light, Pname, Params)

檢視原始碼
-spec lightiv(Light :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

gl:light() 設定個別光源參數的值。Light 會命名光源,並且是 ?GL_LIGHT i 形式的符號名稱,其中 i 的範圍從 0 到 ?GL_MAX_LIGHTS - 1 的值。Pname 會再次使用符號名稱指定十個光源參數之一。Params 是單一值或包含新值的陣列指標。

外部文件。

連結到此函式

lightModelf(Pname, Param)

檢視原始碼
-spec lightModelf(Pname :: enum(), Param :: f()) -> ok.

等同於 lightModeliv/2

連結到此函式

lightModelfv(Pname, Params)

檢視原始碼
-spec lightModelfv(Pname :: enum(), Params :: tuple()) -> ok.

等同於 lightModeliv/2

連結到此函式

lightModeli(Pname, Param)

檢視原始碼
-spec lightModeli(Pname :: enum(), Param :: i()) -> ok.

等同於 lightModeliv/2

連結到此函式

lightModeliv(Pname, Params)

檢視原始碼
-spec lightModeliv(Pname :: enum(), Params :: tuple()) -> ok.

gl:lightModel() 設定光照模型參數。Pname 指定參數名稱,而 Params 提供新的值。光照模型參數共有三個:

外部文件。

連結到此函式

lineStipple(Factor, Pattern)

檢視原始碼
-spec lineStipple(Factor :: i(), Pattern :: i()) -> ok.

線段虛線化會遮蔽光柵化產生的某些片段;這些片段將不會被繪製。遮蔽是透過使用三個參數來實現的:16 位元的線段虛線模式 Pattern、重複次數 Factor 和整數虛線計數器 s。

外部文件。

-spec lineWidth(Width :: f()) -> ok.

gl:lineWidth/1 指定反鋸齒和非反鋸齒線段的光柵化寬度。使用寬度非 1 的線段,會根據是否啟用線段反鋸齒而有不同的效果。若要啟用和停用線段反鋸齒,請使用 ?GL_LINE_SMOOTH 參數呼叫 gl:enable/1gl:disable/1。線段反鋸齒預設為停用。

外部文件。

-spec linkProgram(Program :: i()) -> ok.

gl:linkProgram/1 連結由 Program 指定的程式物件。如果任何類型為 ?GL_VERTEX_SHADER 的著色器物件附加到 Program,它們將用於建立在可編程頂點處理器上執行的可執行檔。如果任何類型為 ?GL_GEOMETRY_SHADER 的著色器物件附加到 Program,它們將用於建立在可編程幾何處理器上執行的可執行檔。如果任何類型為 ?GL_FRAGMENT_SHADER 的著色器物件附加到 Program,它們將用於建立在可編程片段處理器上執行的可執行檔。

外部文件。

-spec listBase(Base :: i()) -> ok.

gl:callLists/1 指定一組偏移量陣列。顯示列表名稱是透過將 Base 加到每個偏移量來產生的。參考有效顯示列表的名稱會被執行;其他名稱則會被忽略。

外部文件。

-spec loadIdentity() -> ok.

gl:loadIdentity/0 使用單位矩陣取代目前的矩陣。這在語義上等同於使用單位矩陣呼叫 gl:loadMatrix()

外部文件。

-spec loadMatrixd(M :: matrix()) -> ok.

等同於 loadMatrixf/1

-spec loadMatrixf(M :: matrix()) -> ok.

gl:loadMatrix() 使用由 M 指定其元素的矩陣取代目前的矩陣。目前的矩陣是投影矩陣、模型視圖矩陣或紋理矩陣,取決於目前的矩陣模式(請參閱 gl:matrixMode/1)。

外部文件。

-spec loadName(Name :: i()) -> ok.

名稱堆疊用於選取模式,以允許唯一識別一組渲染指令。它由一組有序的無符號整數組成,且初始為空。

外部文件。

連結到此函式

loadTransposeMatrixd(M)

檢視原始碼
-spec loadTransposeMatrixd(M :: matrix()) -> ok.

等同於 loadTransposeMatrixf/1

連結到此函式

loadTransposeMatrixf(M)

檢視原始碼
-spec loadTransposeMatrixf(M :: matrix()) -> ok.

gl:loadTransposeMatrix() 使用由 M 指定其元素的矩陣取代目前的矩陣。目前的矩陣是投影矩陣、模型視圖矩陣或紋理矩陣,取決於目前的矩陣模式(請參閱 gl:matrixMode/1)。

外部文件。

-spec logicOp(Opcode :: enum()) -> ok.

gl:logicOp/1 指定一個邏輯運算,當啟用時,該運算會應用於傳入的 RGBA 顏色和幀緩衝區中對應位置的 RGBA 顏色之間。若要啟用或停用邏輯運算,請使用符號常數 ?GL_COLOR_LOGIC_OP 呼叫 gl:enable/1gl:disable/1。初始值為停用。

外部文件。

連結到此函式

map1d(Target, U1, U2, Stride, Order, Points)

檢視原始碼
-spec map1d(Target :: enum(), U1 :: f(), U2 :: f(), Stride :: i(), Order :: i(), Points :: binary()) ->
               ok.

等同於 map1f/6

連結到此函式

map1f(Target, U1, U2, Stride, Order, Points)

檢視原始碼
-spec map1f(Target :: enum(), U1 :: f(), U2 :: f(), Stride :: i(), Order :: i(), Points :: binary()) ->
               ok.

評估器提供了一種方法,可以使用多項式或有理多項式映射來產生頂點、法線、紋理座標和顏色。評估器產生的值會被發送到 GL 處理的後續階段,就像它們是使用 gl:vertex()gl:normal()gl:texCoord()gl:color() 命令呈現的一樣,但產生的值不會更新目前的法線、紋理座標或顏色。

外部文件。

連結到此函式

map2d(Target, U1, U2, Ustride, Uorder, V1, V2, Vstride, Vorder, Points)

檢視原始碼
-spec map2d(Target, U1, U2, Ustride, Uorder, V1, V2, Vstride, Vorder, Points) -> ok
               when
                   Target :: enum(),
                   U1 :: f(),
                   U2 :: f(),
                   Ustride :: i(),
                   Uorder :: i(),
                   V1 :: f(),
                   V2 :: f(),
                   Vstride :: i(),
                   Vorder :: i(),
                   Points :: binary().

等同於 map2f/10

連結到此函式

map2f(Target, U1, U2, Ustride, Uorder, V1, V2, Vstride, Vorder, Points)

檢視原始碼
-spec map2f(Target, U1, U2, Ustride, Uorder, V1, V2, Vstride, Vorder, Points) -> ok
               when
                   Target :: enum(),
                   U1 :: f(),
                   U2 :: f(),
                   Ustride :: i(),
                   Uorder :: i(),
                   V1 :: f(),
                   V2 :: f(),
                   Vstride :: i(),
                   Vorder :: i(),
                   Points :: binary().

評估器提供了一種方法,可以使用多項式或有理多項式映射來產生頂點、法線、紋理座標和顏色。評估器產生的值會被發送到 GL 處理的後續階段,就像它們是使用 gl:vertex()gl:normal()gl:texCoord()gl:color() 命令呈現的一樣,但產生的值不會更新目前的法線、紋理座標或顏色。

外部文件。

-spec mapGrid1d(Un :: i(), U1 :: f(), U2 :: f()) -> ok.

等同於 mapGrid2f/6

-spec mapGrid1f(Un :: i(), U1 :: f(), U2 :: f()) -> ok.

等同於 mapGrid2f/6

連結到此函式

mapGrid2d(Un, U1, U2, Vn, V1, V2)

檢視原始碼
-spec mapGrid2d(Un :: i(), U1 :: f(), U2 :: f(), Vn :: i(), V1 :: f(), V2 :: f()) -> ok.

等同於 mapGrid2f/6

連結到此函式

mapGrid2f(Un, U1, U2, Vn, V1, V2)

檢視原始碼
-spec mapGrid2f(Un :: i(), U1 :: f(), U2 :: f(), Vn :: i(), V1 :: f(), V2 :: f()) -> ok.

gl:mapGrid()gl:evalMesh() 一起使用,以有效產生和評估一系列均勻間隔的映射域值。gl:evalMesh() 會逐步執行一維或二維格子的整數域,其範圍是由 glMap1glMap2 指定的評估映射域。

外部文件。

連結到此函式

materialf(Face, Pname, Param)

檢視原始碼
-spec materialf(Face :: enum(), Pname :: enum(), Param :: f()) -> ok.

等同於 materialiv/3

連結到此函式

materialfv(Face, Pname, Params)

檢視原始碼
-spec materialfv(Face :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 materialiv/3

連結到此函式

materiali(Face, Pname, Param)

檢視原始碼
-spec materiali(Face :: enum(), Pname :: enum(), Param :: i()) -> ok.

等同於 materialiv/3

連結到此函式

materialiv(Face, Pname, Params)

檢視原始碼
-spec materialiv(Face :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

gl:material() 將值指派給材質參數。材質參數有兩組匹配的集合。其中一組是 front-facing 集合,用於為點、線段、點陣圖和所有多邊形(當停用雙面光照時)或僅為正面多邊形(當啟用雙面光照時)著色。另一組 back-facing 僅用於在啟用雙面光照時為背面多邊形著色。有關單面和雙面光照計算的詳細資訊,請參閱 gl:lightModel() 參考頁面。

外部文件。

-spec matrixMode(Mode :: enum()) -> ok.

gl:matrixMode/1 設定目前的矩陣模式。Mode 可以採用四個值之一:

外部文件。

連結到此函式

memoryBarrier(Barriers)

檢視原始碼
-spec memoryBarrier(Barriers :: i()) -> ok.

等同於 memoryBarrierByRegion/1

連結到此函式

memoryBarrierByRegion(Barriers)

檢視原始碼
-spec memoryBarrierByRegion(Barriers :: i()) -> ok.

gl:memoryBarrier/1 定義一個屏障,排序在命令之前發出的記憶體交易相對於屏障之後發出的記憶體交易。就此排序而言,著色器執行的記憶體交易被視為由觸發著色器執行的渲染命令發出。Barriers 是一個位欄位,指示與著色器儲存同步的一組操作;Barriers 中使用的位元如下:

外部文件。

連結到此函式

minmax(Target, Internalformat, Sink)

檢視原始碼
-spec minmax(Target :: enum(), Internalformat :: enum(), Sink :: 0 | 1) -> ok.

當啟用 ?GL_MINMAX 時,傳入像素的 RGBA 元件會與每個元件的最小值和最大值進行比較,這些值儲存在雙元素 minmax 表中。(第一個元素儲存最小值,第二個元素儲存最大值。)如果像素元件大於最大元素中對應的元件,則會使用像素元件值更新最大元素。如果像素元件小於最小元素中對應的元件,則會使用像素元件值更新最小元素。(在這兩種情況下,如果 minmax 表的內部格式包含亮度,則傳入像素的 R 顏色元件將用於比較。)minmax 表的內容可以在稍後透過呼叫 gl:getMinmax/5 來擷取。minmax 操作可透過分別使用 ?GL_MINMAX 參數呼叫 gl:enable/1gl:disable/1 來啟用或停用。

外部文件。

連結到此函式

minSampleShading(Value)

檢視原始碼
-spec minSampleShading(Value :: f()) -> ok.

gl:minSampleShading/1 指定在覆蓋像素內對樣本進行著色的速率。透過使用參數 ?GL_SAMPLE_SHADING 呼叫 gl:enable/1 來啟用樣本速率著色。如果停用 ?GL_MULTISAMPLE?GL_SAMPLE_SHADING,則樣本著色無效。否則,實作必須為每個覆蓋的片段提供至少與 Value 乘以 Samples 指定的唯一顏色值一樣多的數量,其中 Samples 是目前幀緩衝區的 ?GL_SAMPLES 值。每個覆蓋的片段至少會產生 1 個樣本。

外部文件。

連結到此函式

multiDrawArrays(Mode, First, Count)

檢視原始碼
-spec multiDrawArrays(Mode :: enum(), First :: [integer()] | mem(), Count :: [integer()] | mem()) -> ok.

gl:multiDrawArrays/3 使用非常少的子程序呼叫指定多組幾何圖元。您可以預先指定頂點、法線和顏色的獨立陣列,而不是呼叫 GL 程序來傳遞每個個別的頂點、法線、紋理座標、邊緣標誌或顏色,並且可以使用它們,透過單次呼叫 gl:multiDrawArrays/3 來建構一系列圖元。

外部文件。

連結到此函式

multiDrawArraysIndirect(Mode, Indirect, Drawcount, Stride)

檢視原始碼
-spec multiDrawArraysIndirect(Mode :: enum(),
                              Indirect :: offset() | mem(),
                              Drawcount :: i(),
                              Stride :: i()) ->
                                 ok.

gl:multiDrawArraysIndirect/4 使用非常少的子程序呼叫指定多個幾何圖元。gl:multiDrawArraysIndirect/4 的行為類似於多次呼叫 gl:drawArraysInstancedBaseInstance/5,但每次呼叫 gl:drawArraysInstancedBaseInstance/5 的參數都儲存在記憶體中,其位址由 Indirect 給定,並以 Stride 指定的基本機器單元間隔。如果 Stride 為零,則假設陣列在記憶體中緊密封裝。

外部文件。

連結到此函式

multiDrawArraysIndirectCount(Mode, Indirect, Drawcount, Maxdrawcount, Stride)

檢視原始碼
-spec multiDrawArraysIndirectCount(Mode, Indirect, Drawcount, Maxdrawcount, Stride) -> ok
                                      when
                                          Mode :: enum(),
                                          Indirect :: offset() | mem(),
                                          Drawcount :: i(),
                                          Maxdrawcount :: i(),
                                          Stride :: i().

沒有可用的文件。

連結到此函式

multiTexCoord1d(Target, S)

檢視原始碼
-spec multiTexCoord1d(Target :: enum(), S :: f()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord1dv(Target :: enum(), {S :: f()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord1f(Target, S)

檢視原始碼
-spec multiTexCoord1f(Target :: enum(), S :: f()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord1fv(Target :: enum(), {S :: f()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord1i(Target, S)

檢視原始碼
-spec multiTexCoord1i(Target :: enum(), S :: i()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord1iv(Target :: enum(), {S :: i()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord1s(Target, S)

檢視原始碼
-spec multiTexCoord1s(Target :: enum(), S :: i()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord1sv(Target :: enum(), {S :: i()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord2d(Target, S, T)

檢視原始碼
-spec multiTexCoord2d(Target :: enum(), S :: f(), T :: f()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord2dv(Target :: enum(), {S :: f(), T :: f()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord2f(Target, S, T)

檢視原始碼
-spec multiTexCoord2f(Target :: enum(), S :: f(), T :: f()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord2fv(Target :: enum(), {S :: f(), T :: f()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord2i(Target, S, T)

檢視原始碼
-spec multiTexCoord2i(Target :: enum(), S :: i(), T :: i()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord2iv(Target :: enum(), {S :: i(), T :: i()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord2s(Target, S, T)

檢視原始碼
-spec multiTexCoord2s(Target :: enum(), S :: i(), T :: i()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord2sv(Target :: enum(), {S :: i(), T :: i()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord3d(Target, S, T, R)

檢視原始碼
-spec multiTexCoord3d(Target :: enum(), S :: f(), T :: f(), R :: f()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord3dv(Target :: enum(), {S :: f(), T :: f(), R :: f()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord3f(Target, S, T, R)

檢視原始碼
-spec multiTexCoord3f(Target :: enum(), S :: f(), T :: f(), R :: f()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord3fv(Target :: enum(), {S :: f(), T :: f(), R :: f()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord3i(Target, S, T, R)

檢視原始碼
-spec multiTexCoord3i(Target :: enum(), S :: i(), T :: i(), R :: i()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord3iv(Target :: enum(), {S :: i(), T :: i(), R :: i()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord3s(Target, S, T, R)

檢視原始碼
-spec multiTexCoord3s(Target :: enum(), S :: i(), T :: i(), R :: i()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord3sv(Target :: enum(), {S :: i(), T :: i(), R :: i()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord4d(Target, S, T, R, Q)

檢視原始碼
-spec multiTexCoord4d(Target :: enum(), S :: f(), T :: f(), R :: f(), Q :: f()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord4dv(Target :: enum(), {S :: f(), T :: f(), R :: f(), Q :: f()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord4f(Target, S, T, R, Q)

檢視原始碼
-spec multiTexCoord4f(Target :: enum(), S :: f(), T :: f(), R :: f(), Q :: f()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord4fv(Target :: enum(), {S :: f(), T :: f(), R :: f(), Q :: f()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord4i(Target, S, T, R, Q)

檢視原始碼
-spec multiTexCoord4i(Target :: enum(), S :: i(), T :: i(), R :: i(), Q :: i()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord4iv(Target :: enum(), {S :: i(), T :: i(), R :: i(), Q :: i()}) -> ok.

等同於 multiTexCoord4sv/2

連結到此函式

multiTexCoord4s(Target, S, T, R, Q)

檢視原始碼
-spec multiTexCoord4s(Target :: enum(), S :: i(), T :: i(), R :: i(), Q :: i()) -> ok.

等同於 multiTexCoord4sv/2

-spec multiTexCoord4sv(Target :: enum(), {S :: i(), T :: i(), R :: i(), Q :: i()}) -> ok.

gl:multiTexCoord() 指定一維、二維、三維或四維的紋理座標。gl:multiTexCoord1() 將目前的紋理座標設為 (s 0 0 1);呼叫 gl:multiTexCoord2() 會將它們設為 (s t 0 1)。同樣地,gl:multiTexCoord3() 將紋理座標指定為 (s t r 1),而 gl:multiTexCoord4() 則明確定義所有四個分量為 (s t r q)。

外部文件。

-spec multMatrixd(M :: matrix()) -> ok.

等同於 multMatrixf/1

-spec multMatrixf(M :: matrix()) -> ok.

gl:multMatrix() 將目前矩陣與使用 M 指定的矩陣相乘,並以乘積取代目前矩陣。

外部文件。

連結到此函式

multTransposeMatrixd(M)

檢視原始碼
-spec multTransposeMatrixd(M :: matrix()) -> ok.

等同於 multTransposeMatrixf/1

連結到此函式

multTransposeMatrixf(M)

檢視原始碼
-spec multTransposeMatrixf(M :: matrix()) -> ok.

gl:multTransposeMatrix() 將目前矩陣與使用 M 指定的矩陣相乘,並以乘積取代目前矩陣。

外部文件。

-spec newList(List :: i(), Mode :: enum()) -> ok.

顯示列表是已儲存供後續執行的 GL 命令群組。顯示列表是使用 gl:newList/2 建立的。所有後續命令都會依發出順序放入顯示列表中,直到呼叫 gl:endList/0 為止。

外部文件。

-spec normal3b(Nx :: i(), Ny :: i(), Nz :: i()) -> ok.

等同於 normal3sv/1

-spec normal3bv({Nx :: i(), Ny :: i(), Nz :: i()}) -> ok.

等同於 normal3sv/1

-spec normal3d(Nx :: f(), Ny :: f(), Nz :: f()) -> ok.

等同於 normal3sv/1

-spec normal3dv({Nx :: f(), Ny :: f(), Nz :: f()}) -> ok.

等同於 normal3sv/1

-spec normal3f(Nx :: f(), Ny :: f(), Nz :: f()) -> ok.

等同於 normal3sv/1

-spec normal3fv({Nx :: f(), Ny :: f(), Nz :: f()}) -> ok.

等同於 normal3sv/1

-spec normal3i(Nx :: i(), Ny :: i(), Nz :: i()) -> ok.

等同於 normal3sv/1

-spec normal3iv({Nx :: i(), Ny :: i(), Nz :: i()}) -> ok.

等同於 normal3sv/1

-spec normal3s(Nx :: i(), Ny :: i(), Nz :: i()) -> ok.

等同於 normal3sv/1

-spec normal3sv({Nx :: i(), Ny :: i(), Nz :: i()}) -> ok.

每當發出 gl:normal() 時,目前的法線會設定為給定的座標。位元組、短整數或整數引數會轉換為浮點格式,並使用線性對應,將最大的正可表示整數值對應至 1.0,將最小的負可表示整數值對應至 -1.0。

外部文件。

連結到此函式

normalPointer(Type, Stride, Ptr)

檢視原始碼
-spec normalPointer(Type :: enum(), Stride :: i(), Ptr :: offset() | mem()) -> ok.

gl:normalPointer/3 指定在算繪時要使用的法線陣列的位置和資料格式。Type 指定每個法線座標的資料類型,而 Stride 指定從一個法線到下一個法線的位元組跨距,允許將頂點和屬性封裝到單一陣列中,或儲存在個別的陣列中。(在某些實作中,單一陣列儲存可能更有效率;請參閱 gl:interleavedArrays/3。)

外部文件。

連結到此函式

objectPtrLabel(Ptr, Length, Label)

檢視原始碼
-spec objectPtrLabel(Ptr :: offset() | mem(), Length :: i(), Label :: string()) -> ok.

gl:objectPtrLabel/3 為由 Ptr 識別的同步物件加上標籤。

外部文件。

連結到此函式

ortho(Left, Right, Bottom, Top, Near_val, Far_val)

檢視原始碼
-spec ortho(Left :: f(), Right :: f(), Bottom :: f(), Top :: f(), Near_val :: f(), Far_val :: f()) -> ok.

gl:ortho/6 描述一個產生平行投影的轉換。目前矩陣(請參閱 gl:matrixMode/1)會與此矩陣相乘,且結果會取代目前矩陣,就如同使用以下矩陣作為引數呼叫 gl:multMatrix() 一樣

外部文件。

-spec passThrough(Token :: f()) -> ok.

外部文件。

連結到此函式

patchParameterfv(Pname, Values)

檢視原始碼
-spec patchParameterfv(Pname :: enum(), Values :: [f()]) -> ok.

等同於 patchParameteri/2

連結到此函式

patchParameteri(Pname, Value)

檢視原始碼
-spec patchParameteri(Pname :: enum(), Value :: i()) -> ok.

gl:patchParameter() 指定將用於圖塊圖元的參數。Pname 指定要修改的參數,且必須是 ?GL_PATCH_VERTICES?GL_PATCH_DEFAULT_OUTER_LEVEL?GL_PATCH_DEFAULT_INNER_LEVEL。對於 gl:patchParameteri/2Value 指定由 Pname 指定之參數的新值。對於 gl:patchParameterfv/2Values 指定包含由 Pname 指定之參數新值的陣列位址。

外部文件。

連結到此函式

pauseTransformFeedback()

檢視原始碼
-spec pauseTransformFeedback() -> ok.

gl:pauseTransformFeedback/0 暫停目前作用中轉換回饋物件上的轉換回饋作業。當轉換回饋作業暫停時,轉換回饋仍視為作用中,且變更與物件相關的大部分轉換回饋狀態會導致錯誤。不過,可以在轉換回饋暫停時繫結新的轉換回饋物件。

外部文件。

連結到此函式

pixelMapfv(Map, Mapsize, Values)

檢視原始碼
-spec pixelMapfv(Map :: enum(), Mapsize :: i(), Values :: binary()) -> ok.

等同於 pixelMapusv/3

連結到此函式

pixelMapuiv(Map, Mapsize, Values)

檢視原始碼
-spec pixelMapuiv(Map :: enum(), Mapsize :: i(), Values :: binary()) -> ok.

等同於 pixelMapusv/3

連結到此函式

pixelMapusv(Map, Mapsize, Values)

檢視原始碼
-spec pixelMapusv(Map :: enum(), Mapsize :: i(), Values :: binary()) -> ok.

gl:pixelMap() 設定由 gl:copyPixels/5gl:copyTexImage1D/7gl:copyTexImage2D/8gl:copyTexSubImage1D/6gl:copyTexSubImage2D/8gl:copyTexSubImage3D/9gl:drawPixels/5gl:readPixels/7gl:texImage1D/8gl:texImage2D/9gl:texImage3D/10gl:texSubImage1D/7gl:texSubImage2D/9gl:texSubImage3D/11 使用的轉換表或 map。此外,如果支援 ARB_imaging 子集,則例程 gl:colorTable/6gl:colorSubTable/6gl:convolutionFilter1D/6gl:convolutionFilter2D/7gl:histogram/4gl:minmax/3gl:separableFilter2D/8 亦受影響。這些 map 的使用方式已完整描述於 gl:pixelTransfer() 參考頁中,部分描述於像素和紋理影像命令的參考頁中。在此參考頁中僅描述 map 的規格。

外部文件。

連結到此函式

pixelStoref(Pname, Param)

檢視原始碼
-spec pixelStoref(Pname :: enum(), Param :: f()) -> ok.

等同於 pixelStorei/2

連結到此函式

pixelStorei(Pname, Param)

檢視原始碼
-spec pixelStorei(Pname :: enum(), Param :: i()) -> ok.

gl:pixelStore() 設定像素儲存模式,會影響後續 gl:readPixels/7 的操作,以及紋理圖樣的解包(請參閱 gl:texImage1D/8gl:texImage2D/9gl:texImage3D/10gl:texSubImage1D/7gl:texSubImage2D/9gl:texSubImage3D/11)、gl:compressedTexImage1D/7gl:compressedTexImage2D/8gl:compressedTexImage3D/9gl:compressedTexSubImage1D/7gl:compressedTexSubImage2D/9gl:compressedTexSubImage1D/7

外部文件。

連結到此函式

pixelTransferf(Pname, Param)

檢視原始碼
-spec pixelTransferf(Pname :: enum(), Param :: f()) -> ok.

等同於 pixelTransferi/2

連結到此函式

pixelTransferi(Pname, Param)

檢視原始碼
-spec pixelTransferi(Pname :: enum(), Param :: i()) -> ok.

gl:pixelTransfer() 設定像素傳輸模式,會影響後續 gl:copyPixels/5gl:copyTexImage1D/7gl:copyTexImage2D/8gl:copyTexSubImage1D/6gl:copyTexSubImage2D/8gl:copyTexSubImage3D/9gl:drawPixels/5gl:readPixels/7gl:texImage1D/8gl:texImage2D/9gl:texImage3D/10gl:texSubImage1D/7gl:texSubImage2D/9gl:texSubImage3D/11 命令的操作。此外,如果支援 ARB_imaging 子集,則例程 gl:colorTable/6gl:colorSubTable/6gl:convolutionFilter1D/6gl:convolutionFilter2D/7gl:histogram/4gl:minmax/3gl:separableFilter2D/8 亦受影響。由像素傳輸模式指定的演算法會在像素從影格緩衝區讀取 (gl:copyPixels/5gl:copyTexImage1D/7gl:copyTexImage2D/8gl:copyTexSubImage1D/6gl:copyTexSubImage2D/8gl:copyTexSubImage3D/9gl:readPixels/7),或從用戶端記憶體解包 (gl:drawPixels/5gl:texImage1D/8gl:texImage2D/9gl:texImage3D/10gl:texSubImage1D/7gl:texSubImage2D/9gl:texSubImage3D/11) 後才進行操作。像素傳輸作業會以相同的順序,且以相同的方式進行,無論是哪個命令導致像素作業都一樣。像素儲存模式(請參閱 gl:pixelStore())控制從用戶端記憶體讀取像素時的解包,以及將像素寫回用戶端記憶體時的封裝。

外部文件。

連結到此函式

pixelZoom(Xfactor, Yfactor)

檢視原始碼
-spec pixelZoom(Xfactor :: f(), Yfactor :: f()) -> ok.

gl:pixelZoom/2 指定 x 和 y 縮放因子的值。在執行 gl:drawPixels/5gl:copyPixels/5 時,如果 (xr, yr) 是目前的點陣位置,且給定元素在像素矩形的第 m 列和第 n 行,則中心位於以下角落矩形內的像素:

外部文件。

連結到此函式

pointParameterf(Pname, Param)

檢視原始碼
-spec pointParameterf(Pname :: enum(), Param :: f()) -> ok.

等同於 pointParameteriv/2

連結到此函式

pointParameterfv(Pname, Params)

檢視原始碼
-spec pointParameterfv(Pname :: enum(), Params :: tuple()) -> ok.

等同於 pointParameteriv/2

連結到此函式

pointParameteri(Pname, Param)

檢視原始碼
-spec pointParameteri(Pname :: enum(), Param :: i()) -> ok.

等同於 pointParameteriv/2

連結到此函式

pointParameteriv(Pname, Params)

檢視原始碼
-spec pointParameteriv(Pname :: enum(), Params :: tuple()) -> ok.

下列數值可被接受為 Pname

外部文件。

-spec pointSize(Size :: f()) -> ok.

gl:pointSize/1 指定點的點陣化直徑。如果點大小模式被禁用 (參見 gl:enable/1,參數為 ?GL_PROGRAM_POINT_SIZE),則此值將用於點陣化點。否則,將使用寫入著色語言內建變數 gl_PointSize 的值。

外部文件。

連結到此函式

polygonMode(Face, Mode)

檢視原始碼
-spec polygonMode(Face :: enum(), Mode :: enum()) -> ok.

gl:polygonMode/2 控制多邊形用於點陣化的解譯方式。Face 描述 Mode 適用於哪些多邊形:正面和背面多邊形 (?GL_FRONT_AND_BACK)。多邊形模式僅影響多邊形的最終點陣化。特別是,多邊形的頂點在套用這些模式之前會被光照、裁剪,並可能被剔除。

外部文件。

連結到此函式

polygonOffset(Factor, Units)

檢視原始碼
-spec polygonOffset(Factor :: f(), Units :: f()) -> ok.

當啟用 ?GL_POLYGON_OFFSET_FILL?GL_POLYGON_OFFSET_LINE?GL_POLYGON_OFFSET_POINT 時,每個片段的 depth 值會在從適當頂點的 depth 值內插後偏移。偏移值為 factor×DZ+r×units,其中 DZ 是相對於多邊形螢幕區域的深度變化量測值,而 r 是保證在給定實作中產生可解析偏移的最小值。偏移會在執行深度測試之前以及在將值寫入深度緩衝區之前加入。

外部文件。

連結到此函式

polygonOffsetClamp(Factor, Units, Clamp)

檢視原始碼
-spec polygonOffsetClamp(Factor :: f(), Units :: f(), Clamp :: f()) -> ok.

沒有可用的文件。

-spec polygonStipple(Mask :: binary()) -> ok.

多邊形點畫,如同線條點畫 (參見 gl:lineStipple/2),會遮蔽由點陣化產生的某些片段,以建立圖案。點畫與多邊形反鋸齒無關。

外部文件。

-spec popAttrib() -> ok.

等同於 pushAttrib/1

-spec popClientAttrib() -> ok.

等同於 pushClientAttrib/1

-spec popDebugGroup() -> ok.

等同於 pushDebugGroup/4

-spec popMatrix() -> ok.

等同於 pushMatrix/0

-spec popName() -> ok.

等同於 pushName/1

連結到此函式

primitiveRestartIndex(Index)

檢視原始碼
-spec primitiveRestartIndex(Index :: i()) -> ok.

gl:primitiveRestartIndex/1 指定在啟用圖元重新啟動時特殊處理的頂點陣列元素。這被稱為圖元重新啟動索引。

外部文件。

連結到此函式

prioritizeTextures(Textures, Priorities)

檢視原始碼
-spec prioritizeTextures(Textures :: [i()], Priorities :: [clamp()]) -> ok.

gl:prioritizeTextures/2Priorities 中給定的 N 個紋理優先權指派給 Textures 中命名的 N 個紋理。

外部文件。

連結到此函式

programBinary(Program, BinaryFormat, Binary)

檢視原始碼
-spec programBinary(Program :: i(), BinaryFormat :: enum(), Binary :: binary()) -> ok.

gl:programBinary/3 使用先前從 gl:getProgramBinary/2 傳回的程式二進位檔載入程式物件。BinaryFormatBinary 必須是先前呼叫 gl:getProgramBinary/2 所傳回的,而 Length 必須是 gl:getProgramBinary/2 傳回的長度,或是當 Pname 設定為 ?GL_PROGRAM_BINARY_LENGTH 時呼叫 gl:getProgram() 傳回的長度。如果未滿足這些條件,載入程式二進位檔將會失敗,且 Program?GL_LINK_STATUS 將會設定為 ?GL_FALSE

外部文件。

連結到此函式

programParameteri(Program, Pname, Value)

檢視原始碼
-spec programParameteri(Program :: i(), Pname :: enum(), Value :: i()) -> ok.

gl:programParameter() 為程式物件 Program 中由 Pname 指定的參數名稱指定新的值。

外部文件。

連結到此函式

programUniform1d(Program, Location, V0)

檢視原始碼
-spec programUniform1d(Program :: i(), Location :: i(), V0 :: f()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform1dv(Program, Location, Value)

檢視原始碼
-spec programUniform1dv(Program :: i(), Location :: i(), Value :: [f()]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform1f(Program, Location, V0)

檢視原始碼
-spec programUniform1f(Program :: i(), Location :: i(), V0 :: f()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform1fv(Program, Location, Value)

檢視原始碼
-spec programUniform1fv(Program :: i(), Location :: i(), Value :: [f()]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform1i(Program, Location, V0)

檢視原始碼
-spec programUniform1i(Program :: i(), Location :: i(), V0 :: i()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform1iv(Program, Location, Value)

檢視原始碼
-spec programUniform1iv(Program :: i(), Location :: i(), Value :: [i()]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform1ui(Program, Location, V0)

檢視原始碼
-spec programUniform1ui(Program :: i(), Location :: i(), V0 :: i()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform1uiv(Program, Location, Value)

檢視原始碼
-spec programUniform1uiv(Program :: i(), Location :: i(), Value :: [i()]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform2d(Program, Location, V0, V1)

檢視原始碼
-spec programUniform2d(Program :: i(), Location :: i(), V0 :: f(), V1 :: f()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform2dv(Program, Location, Value)

檢視原始碼
-spec programUniform2dv(Program :: i(), Location :: i(), Value :: [{f(), f()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform2f(Program, Location, V0, V1)

檢視原始碼
-spec programUniform2f(Program :: i(), Location :: i(), V0 :: f(), V1 :: f()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform2fv(Program, Location, Value)

檢視原始碼
-spec programUniform2fv(Program :: i(), Location :: i(), Value :: [{f(), f()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform2i(Program, Location, V0, V1)

檢視原始碼
-spec programUniform2i(Program :: i(), Location :: i(), V0 :: i(), V1 :: i()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform2iv(Program, Location, Value)

檢視原始碼
-spec programUniform2iv(Program :: i(), Location :: i(), Value :: [{i(), i()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform2ui(Program, Location, V0, V1)

檢視原始碼
-spec programUniform2ui(Program :: i(), Location :: i(), V0 :: i(), V1 :: i()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform2uiv(Program, Location, Value)

檢視原始碼
-spec programUniform2uiv(Program :: i(), Location :: i(), Value :: [{i(), i()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform3d(Program, Location, V0, V1, V2)

檢視原始碼
-spec programUniform3d(Program :: i(), Location :: i(), V0 :: f(), V1 :: f(), V2 :: f()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform3dv(Program, Location, Value)

檢視原始碼
-spec programUniform3dv(Program :: i(), Location :: i(), Value :: [{f(), f(), f()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform3f(Program, Location, V0, V1, V2)

檢視原始碼
-spec programUniform3f(Program :: i(), Location :: i(), V0 :: f(), V1 :: f(), V2 :: f()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform3fv(Program, Location, Value)

檢視原始碼
-spec programUniform3fv(Program :: i(), Location :: i(), Value :: [{f(), f(), f()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform3i(Program, Location, V0, V1, V2)

檢視原始碼
-spec programUniform3i(Program :: i(), Location :: i(), V0 :: i(), V1 :: i(), V2 :: i()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform3iv(Program, Location, Value)

檢視原始碼
-spec programUniform3iv(Program :: i(), Location :: i(), Value :: [{i(), i(), i()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform3ui(Program, Location, V0, V1, V2)

檢視原始碼
-spec programUniform3ui(Program :: i(), Location :: i(), V0 :: i(), V1 :: i(), V2 :: i()) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform3uiv(Program, Location, Value)

檢視原始碼
-spec programUniform3uiv(Program :: i(), Location :: i(), Value :: [{i(), i(), i()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform4d(Program, Location, V0, V1, V2, V3)

檢視原始碼
-spec programUniform4d(Program :: i(), Location :: i(), V0 :: f(), V1 :: f(), V2 :: f(), V3 :: f()) ->
                          ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform4dv(Program, Location, Value)

檢視原始碼
-spec programUniform4dv(Program :: i(), Location :: i(), Value :: [{f(), f(), f(), f()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform4f(Program, Location, V0, V1, V2, V3)

檢視原始碼
-spec programUniform4f(Program :: i(), Location :: i(), V0 :: f(), V1 :: f(), V2 :: f(), V3 :: f()) ->
                          ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform4fv(Program, Location, Value)

檢視原始碼
-spec programUniform4fv(Program :: i(), Location :: i(), Value :: [{f(), f(), f(), f()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform4i(Program, Location, V0, V1, V2, V3)

檢視原始碼
-spec programUniform4i(Program :: i(), Location :: i(), V0 :: i(), V1 :: i(), V2 :: i(), V3 :: i()) ->
                          ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform4iv(Program, Location, Value)

檢視原始碼
-spec programUniform4iv(Program :: i(), Location :: i(), Value :: [{i(), i(), i(), i()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform4ui(Program, Location, V0, V1, V2, V3)

檢視原始碼
-spec programUniform4ui(Program :: i(), Location :: i(), V0 :: i(), V1 :: i(), V2 :: i(), V3 :: i()) ->
                           ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniform4uiv(Program, Location, Value)

檢視原始碼
-spec programUniform4uiv(Program :: i(), Location :: i(), Value :: [{i(), i(), i(), i()}]) -> ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix2dv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix2dv(Program :: i(),
                              Location :: i(),
                              Transpose :: 0 | 1,
                              Value :: [{f(), f(), f(), f()}]) ->
                                 ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix2fv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix2fv(Program :: i(),
                              Location :: i(),
                              Transpose :: 0 | 1,
                              Value :: [{f(), f(), f(), f()}]) ->
                                 ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix2x3dv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix2x3dv(Program :: i(),
                                Location :: i(),
                                Transpose :: 0 | 1,
                                Value :: [{f(), f(), f(), f(), f(), f()}]) ->
                                   ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix2x3fv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix2x3fv(Program :: i(),
                                Location :: i(),
                                Transpose :: 0 | 1,
                                Value :: [{f(), f(), f(), f(), f(), f()}]) ->
                                   ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix2x4dv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix2x4dv(Program, Location, Transpose, Value) -> ok
                                   when
                                       Program :: i(),
                                       Location :: i(),
                                       Transpose :: 0 | 1,
                                       Value :: [{f(), f(), f(), f(), f(), f(), f(), f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix2x4fv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix2x4fv(Program, Location, Transpose, Value) -> ok
                                   when
                                       Program :: i(),
                                       Location :: i(),
                                       Transpose :: 0 | 1,
                                       Value :: [{f(), f(), f(), f(), f(), f(), f(), f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix3dv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix3dv(Program, Location, Transpose, Value) -> ok
                                 when
                                     Program :: i(),
                                     Location :: i(),
                                     Transpose :: 0 | 1,
                                     Value :: [{f(), f(), f(), f(), f(), f(), f(), f(), f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix3fv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix3fv(Program, Location, Transpose, Value) -> ok
                                 when
                                     Program :: i(),
                                     Location :: i(),
                                     Transpose :: 0 | 1,
                                     Value :: [{f(), f(), f(), f(), f(), f(), f(), f(), f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix3x2dv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix3x2dv(Program :: i(),
                                Location :: i(),
                                Transpose :: 0 | 1,
                                Value :: [{f(), f(), f(), f(), f(), f()}]) ->
                                   ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix3x2fv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix3x2fv(Program :: i(),
                                Location :: i(),
                                Transpose :: 0 | 1,
                                Value :: [{f(), f(), f(), f(), f(), f()}]) ->
                                   ok.

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix3x4dv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix3x4dv(Program, Location, Transpose, Value) -> ok
                                   when
                                       Program :: i(),
                                       Location :: i(),
                                       Transpose :: 0 | 1,
                                       Value ::
                                           [{f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix3x4fv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix3x4fv(Program, Location, Transpose, Value) -> ok
                                   when
                                       Program :: i(),
                                       Location :: i(),
                                       Transpose :: 0 | 1,
                                       Value ::
                                           [{f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix4dv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix4dv(Program, Location, Transpose, Value) -> ok
                                 when
                                     Program :: i(),
                                     Location :: i(),
                                     Transpose :: 0 | 1,
                                     Value ::
                                         [{f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix4fv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix4fv(Program, Location, Transpose, Value) -> ok
                                 when
                                     Program :: i(),
                                     Location :: i(),
                                     Transpose :: 0 | 1,
                                     Value ::
                                         [{f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f(),
                                           f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix4x2dv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix4x2dv(Program, Location, Transpose, Value) -> ok
                                   when
                                       Program :: i(),
                                       Location :: i(),
                                       Transpose :: 0 | 1,
                                       Value :: [{f(), f(), f(), f(), f(), f(), f(), f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix4x2fv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix4x2fv(Program, Location, Transpose, Value) -> ok
                                   when
                                       Program :: i(),
                                       Location :: i(),
                                       Transpose :: 0 | 1,
                                       Value :: [{f(), f(), f(), f(), f(), f(), f(), f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix4x3dv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix4x3dv(Program, Location, Transpose, Value) -> ok
                                   when
                                       Program :: i(),
                                       Location :: i(),
                                       Transpose :: 0 | 1,
                                       Value ::
                                           [{f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}].

等同於 programUniformMatrix4x3fv/4

連結到此函式

programUniformMatrix4x3fv(Program, Location, Transpose, Value)

檢視原始碼
-spec programUniformMatrix4x3fv(Program, Location, Transpose, Value) -> ok
                                   when
                                       Program :: i(),
                                       Location :: i(),
                                       Transpose :: 0 | 1,
                                       Value ::
                                           [{f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}].

gl:programUniform() 修改統一變數或統一變數陣列的值。要修改的統一變數位置由 Location 指定,它應該是由 gl:getUniformLocation/2 傳回的值。gl:programUniform() 操作由 Program 指定的程式物件。

外部文件。

-spec provokingVertex(Mode :: enum()) -> ok.

Flatshading 頂點著色器變動輸出意味著為圖元的全部頂點指派相同的輸出值。從中取得這些值的頂點稱為 provoking vertex,而 gl:provokingVertex/1 指定要用作平面著色變動資料來源的頂點。

外部文件。

-spec pushAttrib(Mask :: i()) -> ok.

gl:pushAttrib/1 接受一個引數,此引數為遮罩,指示要儲存在屬性堆疊上的狀態變數群組。符號常數用於設定遮罩中的位元。Mask 通常是藉由將數個這些常數進行位元或運算來建構。特殊遮罩 ?GL_ALL_ATTRIB_BITS 可用於儲存所有可堆疊的狀態。

外部文件。

連結到此函式

pushClientAttrib(Mask)

檢視原始碼
-spec pushClientAttrib(Mask :: i()) -> ok.

gl:pushClientAttrib/1 接受一個引數,此引數為遮罩,指示要儲存在用戶端屬性堆疊上的用戶端狀態變數群組。符號常數用於設定遮罩中的位元。Mask 通常是藉由將數個這些常數進行位元或運算來建構。特殊遮罩 ?GL_CLIENT_ALL_ATTRIB_BITS 可用於儲存所有可堆疊的用戶端狀態。

外部文件。

連結到此函式

pushDebugGroup(Source, Id, Length, Message)

檢視原始碼
-spec pushDebugGroup(Source :: enum(), Id :: i(), Length :: i(), Message :: string()) -> ok.

gl:pushDebugGroup/4 將由字串 Message 描述的偵錯群組推送至命令串流中。Id 的值指定所產生訊息的 ID。參數 Length 包含 Message 中的字元數。如果 Length 為負數,則表示 Message 包含 Null 終止字串。訊息具有指定的 SourceIdType``?GL_DEBUG_TYPE_PUSH_GROUPSeverity``?GL_DEBUG_SEVERITY_NOTIFICATION。GL 將把新的偵錯群組放在偵錯群組堆疊的頂端,該偵錯群組繼承先前位於偵錯群組堆疊頂端的偵錯群組之偵錯輸出量的控制。由於偵錯群組是嚴格分層的,因此對偵錯輸出量的任何額外控制將僅適用於作用中的偵錯群組以及推送在作用中偵錯群組頂端的偵錯群組內。

外部文件。

-spec pushMatrix() -> ok.

每個矩陣模式都有一個矩陣堆疊。在 ?GL_MODELVIEW 模式中,堆疊深度至少為 32。在其他模式 ( ?GL_COLOR?GL_PROJECTION?GL_TEXTURE) 中,深度至少為 2。任何模式中的目前矩陣都是該模式堆疊頂端的矩陣。

外部文件。

-spec pushName(Name :: i()) -> ok.

名稱堆疊用於選取模式,以允許唯一識別一組渲染指令。它由一組有序的無符號整數組成,且初始為空。

外部文件。

連結到此函式

queryCounter(Id, Target)

檢視原始碼
-spec queryCounter(Id :: i(), Target :: enum()) -> ok.

gl:queryCounter/2 使 GL 將目前時間記錄到名為 Id 的查詢物件中。Target 必須為 ?GL_TIMESTAMP。時間會在 GL 用戶端和伺服器狀態以及影格緩衝區上所有先前的命令都完全實現之後記錄。當記錄時間時,該物件的查詢結果會被標示為可用。gl:queryCounter/2 計時器查詢可以在目標為 ?GL_TIME_ELAPSEDgl:beginQuery/2 / gl:endQuery/1 區塊內使用,而且不會影響該查詢物件的結果。

外部文件。

-spec rasterPos2d(X :: f(), Y :: f()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos2dv({X :: f(), Y :: f()}) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos2f(X :: f(), Y :: f()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos2fv({X :: f(), Y :: f()}) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos2i(X :: i(), Y :: i()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos2iv({X :: i(), Y :: i()}) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos2s(X :: i(), Y :: i()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos2sv({X :: i(), Y :: i()}) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos3d(X :: f(), Y :: f(), Z :: f()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos3dv({X :: f(), Y :: f(), Z :: f()}) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos3f(X :: f(), Y :: f(), Z :: f()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos3fv({X :: f(), Y :: f(), Z :: f()}) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos3i(X :: i(), Y :: i(), Z :: i()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos3iv({X :: i(), Y :: i(), Z :: i()}) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos3s(X :: i(), Y :: i(), Z :: i()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos3sv({X :: i(), Y :: i(), Z :: i()}) -> ok.

等同於 rasterPos4sv/1

連結到此函式

rasterPos4d(X, Y, Z, W)

檢視原始碼
-spec rasterPos4d(X :: f(), Y :: f(), Z :: f(), W :: f()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos4dv({X :: f(), Y :: f(), Z :: f(), W :: f()}) -> ok.

等同於 rasterPos4sv/1

連結到此函式

rasterPos4f(X, Y, Z, W)

檢視原始碼
-spec rasterPos4f(X :: f(), Y :: f(), Z :: f(), W :: f()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos4fv({X :: f(), Y :: f(), Z :: f(), W :: f()}) -> ok.

等同於 rasterPos4sv/1

連結到此函式

rasterPos4i(X, Y, Z, W)

檢視原始碼
-spec rasterPos4i(X :: i(), Y :: i(), Z :: i(), W :: i()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos4iv({X :: i(), Y :: i(), Z :: i(), W :: i()}) -> ok.

等同於 rasterPos4sv/1

連結到此函式

rasterPos4s(X, Y, Z, W)

檢視原始碼
-spec rasterPos4s(X :: i(), Y :: i(), Z :: i(), W :: i()) -> ok.

等同於 rasterPos4sv/1

-spec rasterPos4sv({X :: i(), Y :: i(), Z :: i(), W :: i()}) -> ok.

GL 維護一個在視窗座標中的 3D 位置。這個位置稱為光柵位置 (raster position),用於定位像素和點陣圖寫入操作。它以次像素精確度維護。請參閱 gl:bitmap/7gl:drawPixels/5gl:copyPixels/5

外部文件。

-spec readBuffer(Mode :: enum()) -> ok.

gl:readBuffer/1 指定一個顏色緩衝區作為後續 gl:readPixels/7gl:copyTexImage1D/7gl:copyTexImage2D/8gl:copyTexSubImage1D/6gl:copyTexSubImage2D/8gl:copyTexSubImage3D/9 命令的來源。模式 接受十二個或更多預定義值之一。在完全配置的系統中,?GL_FRONT?GL_LEFT?GL_FRONT_LEFT 都命名為前左緩衝區,?GL_FRONT_RIGHT?GL_RIGHT 命名為前右緩衝區,而 ?GL_BACK_LEFT?GL_BACK 命名為後左緩衝區。此外,常數 ?GL_COLOR_ATTACHMENT``i 可用於指示第 i 個顏色附件,其中 i 的範圍從零到 ?GL_MAX_COLOR_ATTACHMENTS 的值減一。

外部文件。

連結到此函式

readPixels(X, Y, 寬度, 高度, 格式, 類型, 像素)

檢視原始碼
-spec readPixels(X, Y, Width, Height, Format, Type, Pixels) -> ok
                    when
                        X :: i(),
                        Y :: i(),
                        Width :: i(),
                        Height :: i(),
                        Format :: enum(),
                        Type :: enum(),
                        Pixels :: mem().

gl:readPixels/7glReadnPixels 從影格緩衝區傳回像素資料,從左下角位於 (X, Y) 位置的像素開始,放入從 資料 位置開始的客戶端記憶體中。多個參數控制像素資料在放入客戶端記憶體之前的處理。這些參數使用 gl:pixelStore() 設定。此參考頁面描述了這些三個命令指定的大部分(但不是全部)參數對 gl:readPixels/7glReadnPixels 的影響。

外部文件。

-spec rectd(X1 :: f(), Y1 :: f(), X2 :: f(), Y2 :: f()) -> ok.

等效於 rectsv/2

-spec rectdv(V1 :: {f(), f()}, V2 :: {f(), f()}) -> ok.

等效於 rectsv/2

-spec rectf(X1 :: f(), Y1 :: f(), X2 :: f(), Y2 :: f()) -> ok.

等效於 rectsv/2

-spec rectfv(V1 :: {f(), f()}, V2 :: {f(), f()}) -> ok.

等效於 rectsv/2

-spec recti(X1 :: i(), Y1 :: i(), X2 :: i(), Y2 :: i()) -> ok.

等效於 rectsv/2

-spec rectiv(V1 :: {i(), i()}, V2 :: {i(), i()}) -> ok.

等效於 rectsv/2

-spec rects(X1 :: i(), Y1 :: i(), X2 :: i(), Y2 :: i()) -> ok.

等效於 rectsv/2

-spec rectsv(V1 :: {i(), i()}, V2 :: {i(), i()}) -> ok.

gl:rect() 支援將矩形有效地指定為兩個角點。每個矩形命令接受四個參數,這些參數組織為兩個連續的 (x y) 座標對,或是指向陣列的兩個指標,每個指標都包含一個 (x y) 對。產生的矩形定義在 z=0 平面中。

外部文件。

連結到此函式

releaseShaderCompiler()

檢視原始碼
-spec releaseShaderCompiler() -> ok.

gl:releaseShaderCompiler/0 向實作提供提示,使其可以釋放與其著色器編譯器相關聯的內部資源。gl:compileShader/1 隨後可能會被呼叫,而實作可能會在那時重新分配先前由呼叫 gl:releaseShaderCompiler/0 所釋放的資源。

外部文件。

連結到此函式

renderbufferStorage(目標, 內部格式, 寬度, 高度)

檢視原始碼
-spec renderbufferStorage(Target :: enum(), Internalformat :: enum(), Width :: i(), Height :: i()) -> ok.

gl:renderbufferStorage/4 等效於呼叫 gl:renderbufferStorageMultisample/5 並將 樣本 設定為零,而 glNamedRenderbufferStorage 等效於呼叫 glNamedRenderbufferStorageMultisample 並將樣本設定為零。

外部文件。

連結到此函式

renderbufferStorageMultisample(目標, 樣本, 內部格式, 寬度, 高度)

檢視原始碼
-spec renderbufferStorageMultisample(Target :: enum(),
                                     Samples :: i(),
                                     Internalformat :: enum(),
                                     Width :: i(),
                                     Height :: i()) ->
                                        ok.

gl:renderbufferStorageMultisample/5glNamedRenderbufferStorageMultisample 建立渲染緩衝區物件影像的資料儲存、格式、維度和樣本數。

外部文件。

-spec renderMode(Mode :: enum()) -> i().

gl:renderMode/1 設定光柵化模式。它接受一個參數,模式,它可以採用三個預定義值之一

外部文件。

連結到此函式

resetHistogram(目標)

檢視原始碼
-spec resetHistogram(Target :: enum()) -> ok.

gl:resetHistogram/1 將目前直方圖表的所有元素重設為零。

外部文件。

-spec resetMinmax(Target :: enum()) -> ok.

gl:resetMinmax/1 將目前 minmax 表的元素重設為其初始值:``最大值'' 元素接收最小可能元件值,而 ``最小值'' 元素接收最大可能元件值。

外部文件。

連結到此函式

resumeTransformFeedback()

檢視原始碼
-spec resumeTransformFeedback() -> ok.

gl:resumeTransformFeedback/0 在目前活動的轉換回饋物件上繼續轉換回饋操作。當轉換回饋操作暫停時,轉換回饋仍被視為處於活動狀態,並且變更與物件相關的大多數轉換回饋狀態會導致錯誤。但是,可以在暫停轉換回饋時繫結新的轉換回饋物件。

外部文件。

連結到此函式

rotated(角度, X, Y, Z)

檢視原始碼
-spec rotated(Angle :: f(), X :: f(), Y :: f(), Z :: f()) -> ok.

等效於 rotatef/4

連結到此函式

rotatef(角度, X, Y, Z)

檢視原始碼
-spec rotatef(Angle :: f(), X :: f(), Y :: f(), Z :: f()) -> ok.

gl:rotate() 產生繞向量 (x y z) 旋轉 角度 度。目前的矩陣(請參閱 gl:matrixMode/1)乘以旋轉矩陣,乘積取代目前的矩陣,就像使用以下矩陣作為其引數呼叫 gl:multMatrix() 一樣

外部文件。

連結到此函式

sampleCoverage(值, 反轉)

檢視原始碼
-spec sampleCoverage(Value :: clamp(), Invert :: 0 | 1) -> ok.

多重取樣以各種與實作相關的次像素位置多次取樣像素,以產生反鋸齒效果。如果啟用多重取樣,它會透明地為點、線條、多邊形和影像進行反鋸齒處理。

外部文件。

連結到此函式

sampleMaski(遮罩編號, 遮罩)

檢視原始碼
-spec sampleMaski(MaskNumber :: i(), Mask :: i()) -> ok.

gl:sampleMaski/2 設定多字組樣本遮罩 ?GL_SAMPLE_MASK_VALUE 的一個 32 位元子字。

外部文件。

連結到此函式

samplerParameterf(取樣器, Pname, 參數)

檢視原始碼
-spec samplerParameterf(Sampler :: i(), Pname :: enum(), Param :: f()) -> ok.

等效於 samplerParameteriv/3

連結到此函式

samplerParameterfv(取樣器, Pname, 參數)

檢視原始碼
-spec samplerParameterfv(Sampler :: i(), Pname :: enum(), Param :: [f()]) -> ok.

等效於 samplerParameteriv/3

連結到此函式

samplerParameterIiv(取樣器, Pname, 參數)

檢視原始碼
-spec samplerParameterIiv(Sampler :: i(), Pname :: enum(), Param :: [i()]) -> ok.

等效於 samplerParameteriv/3

連結到此函式

samplerParameterIuiv(取樣器, Pname, 參數)

檢視原始碼
-spec samplerParameterIuiv(Sampler :: i(), Pname :: enum(), Param :: [i()]) -> ok.

等效於 samplerParameteriv/3

連結到此函式

samplerParameteri(取樣器, Pname, 參數)

檢視原始碼
-spec samplerParameteri(Sampler :: i(), Pname :: enum(), Param :: i()) -> ok.

等效於 samplerParameteriv/3

連結到此函式

samplerParameteriv(取樣器, Pname, 參數)

檢視原始碼
-spec samplerParameteriv(Sampler :: i(), Pname :: enum(), Param :: [i()]) -> ok.

gl:samplerParameter()參數 中的值指派給指定為 Pname 的取樣器參數。取樣器 指定要修改的取樣器物件,且必須是先前從呼叫 gl:genSamplers/1 傳回的取樣器物件的名稱。Pname 中接受下列符號

外部文件。

-spec scaled(X :: f(), Y :: f(), Z :: f()) -> ok.

等效於 scalef/3

-spec scalef(X :: f(), Y :: f(), Z :: f()) -> ok.

gl:scale() 會沿 xyz 軸產生不均勻縮放。這三個參數表示沿三個軸的每一個所需的縮放比例因子。

外部文件。

連結到此函式

scissor(X, Y, 寬度, 高度)

檢視原始碼
-spec scissor(X :: i(), Y :: i(), Width :: i(), Height :: i()) -> ok.

gl:scissor/4 在視窗座標中定義一個稱為剪裁框的矩形。前兩個引數 XY 指定方塊的左下角。寬度高度 指定方塊的寬度和高度。

外部文件。

連結到此函式

scissorArrayv(第一個, V)

檢視原始碼
-spec scissorArrayv(First :: i(), V :: [{i(), i(), i(), i()}]) -> ok.

gl:scissorArrayv/2 為每個視埠定義在視窗座標中稱為剪裁框的矩形。第一個 指定要修改的第一個剪裁框的索引,而 計數 指定要修改的剪裁框的數量。第一個 必須小於 ?GL_MAX_VIEWPORTS 的值,而 第一個 + 計數 必須小於或等於 ?GL_MAX_VIEWPORTS 的值。V 指定一個陣列的位址,該陣列包含指定剪裁框左下角以及剪裁框寬度和高度的整數 (依該順序)。

外部文件。

連結到此函式

scissorIndexed(索引, 左, 下, 寬度, 高度)

檢視原始碼
-spec scissorIndexed(Index :: i(), Left :: i(), Bottom :: i(), Width :: i(), Height :: i()) -> ok.

等效於 scissorIndexedv/2

連結到此函式

scissorIndexedv(索引, V)

檢視原始碼
-spec scissorIndexedv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

gl:scissorIndexed/5 為指定的視埠定義剪裁框。索引 指定要修改的剪裁框的索引。索引 必須小於 ?GL_MAX_VIEWPORTS 的值。對於 gl:scissorIndexed/5寬度高度 分別指定剪裁框的左、下、寬度和高度 (以像素為單位)。對於 gl:scissorIndexedv/2V 指定一個陣列的位址,該陣列包含指定剪裁框左下角以及剪裁框寬度和高度的整數 (依該順序)。

外部文件。

連結到此函式

secondaryColor3b(紅色, 綠色, 藍色)

檢視原始碼
-spec secondaryColor3b(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等效於 secondaryColor3usv/1

-spec secondaryColor3bv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等效於 secondaryColor3usv/1

連結到此函式

secondaryColor3d(紅色, 綠色, 藍色)

檢視原始碼
-spec secondaryColor3d(Red :: f(), Green :: f(), Blue :: f()) -> ok.

等效於 secondaryColor3usv/1

-spec secondaryColor3dv({Red :: f(), Green :: f(), Blue :: f()}) -> ok.

等效於 secondaryColor3usv/1

連結到此函式

secondaryColor3f(紅色, 綠色, 藍色)

檢視原始碼
-spec secondaryColor3f(Red :: f(), Green :: f(), Blue :: f()) -> ok.

等效於 secondaryColor3usv/1

-spec secondaryColor3fv({Red :: f(), Green :: f(), Blue :: f()}) -> ok.

等效於 secondaryColor3usv/1

連結到此函式

secondaryColor3i(紅色, 綠色, 藍色)

檢視原始碼
-spec secondaryColor3i(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等效於 secondaryColor3usv/1

-spec secondaryColor3iv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等效於 secondaryColor3usv/1

連結到此函式

secondaryColor3s(紅色, 綠色, 藍色)

檢視原始碼
-spec secondaryColor3s(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等效於 secondaryColor3usv/1

-spec secondaryColor3sv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等效於 secondaryColor3usv/1

連結到此函式

secondaryColor3ub(紅色, 綠色, 藍色)

檢視原始碼
-spec secondaryColor3ub(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等效於 secondaryColor3usv/1

-spec secondaryColor3ubv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等效於 secondaryColor3usv/1

連結到此函式

secondaryColor3ui(紅色, 綠色, 藍色)

檢視原始碼
-spec secondaryColor3ui(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等效於 secondaryColor3usv/1

-spec secondaryColor3uiv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

等效於 secondaryColor3usv/1

連結到此函式

secondaryColor3us(紅色, 綠色, 藍色)

檢視原始碼
-spec secondaryColor3us(Red :: i(), Green :: i(), Blue :: i()) -> ok.

等效於 secondaryColor3usv/1

-spec secondaryColor3usv({Red :: i(), Green :: i(), Blue :: i()}) -> ok.

GL 會儲存主要四值 RGBA 顏色和次要四值 RGBA 顏色 (其中 alpha 永遠設定為 0.0),這兩個顏色都與每個頂點相關聯。

外部文件。

連結到此函式

secondaryColorPointer(大小, 類型, 間隔, 指標)

檢視原始碼
-spec secondaryColorPointer(Size :: i(), Type :: enum(), Stride :: i(), Pointer :: offset() | mem()) ->
                               ok.

gl:secondaryColorPointer/4 指定在算繪時要使用的顏色元件陣列的位置和資料格式。大小 指定每個顏色的元件數,並且必須為 3。類型 指定每個顏色元件的資料類型,而 間隔 指定從一個顏色到下一個顏色的位元組間隔,允許將頂點和屬性封裝到單一陣列中或儲存在單獨的陣列中。

外部文件。

連結到此函式

selectBuffer(大小, 緩衝區)

檢視原始碼
-spec selectBuffer(Size :: i(), Buffer :: mem()) -> ok.

gl:selectBuffer/2 有兩個引數:緩衝區 是指向不帶正負號的整數陣列的指標,而 大小 表示陣列的大小。緩衝區 在算繪模式為 ?GL_SELECT 時傳回名稱堆疊中的值(請參閱 gl:initNames/0gl:loadName/1gl:pushName/1)。(請參閱 gl:renderMode/1)。必須在啟用選擇模式之前發出 gl:selectBuffer/2,並且在算繪模式為 ?GL_SELECT 時不得發出此命令。

外部文件。

連結到此函式

separableFilter2D(目標, 內部格式, 寬度, 高度, 格式, 類型, 列, 行)

檢視原始碼
-spec separableFilter2D(Target, Internalformat, Width, Height, Format, Type, Row, Column) -> ok
                           when
                               Target :: enum(),
                               Internalformat :: enum(),
                               Width :: i(),
                               Height :: i(),
                               Format :: enum(),
                               Type :: enum(),
                               Row :: offset() | mem(),
                               Column :: offset() | mem().

gl:separableFilter2D/8 從兩個像素陣列建置二維可分離捲積濾波器核心。

外部文件。

-spec shadeModel(Mode :: enum()) -> ok.

GL 基本圖元可以具有平面或平滑著色。平滑著色(預設值)會導致在光柵化基本圖元時內插頂點的計算顏色,通常會為每個產生的像素片段指派不同的顏色。平面著色只選取一個頂點的計算顏色,並將其指派給光柵化單個基本圖元所產生的所有像素片段。在任一種情況下,頂點的計算顏色都是在啟用光照時光照的結果,或者是在停用光照時指定頂點時的目前顏色。

外部文件。

連結到此函式

shaderBinary(著色器, 二進位格式, 二進位)

檢視原始碼
-spec shaderBinary(Shaders :: [i()], Binaryformat :: enum(), Binary :: binary()) -> ok.

gl:shaderBinary/3 將預先編譯的著色器二進制碼載入到 Count 個著色器物件中,這些物件的句柄在 Shaders 中給出。Binary 指向儲存在客戶端記憶體中的 Length 位元組的二進制著色器碼。BinaryFormat 指定預編譯碼的格式。

外部文件。

連結到此函式

shaderSource(Shader, String)

檢視原始碼
-spec shaderSource(Shader :: i(), String :: [unicode:chardata()]) -> ok.

gl:shaderSource/2Shader 中的原始碼設定為 String 指定的字串陣列中的原始碼。先前儲存在著色器物件中的任何原始碼都會被完全替換。陣列中的字串數量由 Count 指定。如果 Length?NULL,則假設每個字串都以 null 終止。如果 Length?NULL 以外的值,它會指向一個陣列,其中包含 String 中每個對應元素的字串長度。Length 陣列中的每個元素可以包含相應字串的長度(null 字元不計為字串長度的一部分)或小於 0 的值,表示該字串以 null 終止。原始碼字串此時不會掃描或解析;它們只是複製到指定的著色器物件中。

外部文件。

連結到此函式

shaderStorageBlockBinding(Program, StorageBlockIndex, StorageBlockBinding)

檢視原始碼
-spec shaderStorageBlockBinding(Program :: i(), StorageBlockIndex :: i(), StorageBlockBinding :: i()) ->
                                   ok.

gl:shaderStorageBlockBinding/3 更改程式物件 Program 中索引為 StorageBlockIndex 的活動著色器儲存區塊。StorageBlockIndex 必須是 Program 中的活動著色器儲存區塊索引。StorageBlockBinding 必須小於 ?GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 的值。如果成功,gl:shaderStorageBlockBinding/3 指定 Program 將使用綁定到綁定點 StorageBlockBinding 的緩衝區物件的資料儲存,以讀取和寫入由 StorageBlockIndex 識別的著色器儲存區塊中的緩衝區變數的值。

外部文件。

連結到此函式

stencilFunc(Func, Ref, Mask)

檢視原始碼
-spec stencilFunc(Func :: enum(), Ref :: i(), Mask :: i()) -> ok.

模版測試與深度緩衝類似,可以逐像素啟用和停用繪圖。首先使用 GL 繪圖圖元繪製到模版平面中,然後使用模版平面來遮蔽螢幕的部分區域來渲染幾何圖形和圖像。模版測試通常用於多通道渲染演算法中,以實現特殊效果,例如貼花、輪廓和建構式實體幾何渲染。

外部文件。

連結到此函式

stencilFuncSeparate(Face, Func, Ref, Mask)

檢視原始碼
-spec stencilFuncSeparate(Face :: enum(), Func :: enum(), Ref :: i(), Mask :: i()) -> ok.

模版測試與深度緩衝類似,可以逐像素啟用和停用繪圖。您可以使用 GL 繪圖圖元繪製到模版平面中,然後使用模版平面來遮蔽螢幕的部分區域來渲染幾何圖形和圖像。模版測試通常用於多通道渲染演算法中,以實現特殊效果,例如貼花、輪廓和建構式實體幾何渲染。

外部文件。

-spec stencilMask(Mask :: i()) -> ok.

gl:stencilMask/1 控制模版平面中個別位的寫入。Mask 的最低有效 n 位(其中 n 是模版緩衝區中的位數)指定一個遮罩。遮罩中出現 1 的位置,可以寫入模版緩衝區中的對應位。出現 0 的位置,對應位受寫入保護。最初,所有位都啟用寫入。

外部文件。

連結到此函式

stencilMaskSeparate(Face, Mask)

檢視原始碼
-spec stencilMaskSeparate(Face :: enum(), Mask :: i()) -> ok.

gl:stencilMaskSeparate/2 控制模版平面中個別位的寫入。Mask 的最低有效 n 位(其中 n 是模版緩衝區中的位數)指定一個遮罩。遮罩中出現 1 的位置,可以寫入模版緩衝區中的對應位。出現 0 的位置,對應位受寫入保護。最初,所有位都啟用寫入。

外部文件。

連結到此函式

stencilOp(Fail, Zfail, Zpass)

檢視原始碼
-spec stencilOp(Fail :: enum(), Zfail :: enum(), Zpass :: enum()) -> ok.

模版測試與深度緩衝類似,可以逐像素啟用和停用繪圖。您可以使用 GL 繪圖圖元繪製到模版平面中,然後使用模版平面來遮蔽螢幕的部分區域來渲染幾何圖形和圖像。模版測試通常用於多通道渲染演算法中,以實現特殊效果,例如貼花、輪廓和建構式實體幾何渲染。

外部文件。

連結到此函式

stencilOpSeparate(Face, Sfail, Dpfail, Dppass)

檢視原始碼
-spec stencilOpSeparate(Face :: enum(), Sfail :: enum(), Dpfail :: enum(), Dppass :: enum()) -> ok.

模版測試與深度緩衝類似,可以逐像素啟用和停用繪圖。您可以使用 GL 繪圖圖元繪製到模版平面中,然後使用模版平面來遮蔽螢幕的部分區域來渲染幾何圖形和圖像。模版測試通常用於多通道渲染演算法中,以實現特殊效果,例如貼花、輪廓和建構式實體幾何渲染。

外部文件。

連結到此函式

texBuffer(Target, Internalformat, Buffer)

檢視原始碼
-spec texBuffer(Target :: enum(), Internalformat :: enum(), Buffer :: i()) -> ok.

等同於 textureBuffer/3

連結到此函式

texBufferRange(Target, Internalformat, Buffer, Offset, Size)

檢視原始碼
-spec texBufferRange(Target :: enum(),
                     Internalformat :: enum(),
                     Buffer :: i(),
                     Offset :: i(),
                     Size :: i()) ->
                        ok.

等同於 textureBufferRange/5

-spec texCoord1d(S :: f()) -> ok.

等同於 texCoord4sv/1

-spec texCoord1dv({S :: f()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord1f(S :: f()) -> ok.

等同於 texCoord4sv/1

-spec texCoord1fv({S :: f()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord1i(S :: i()) -> ok.

等同於 texCoord4sv/1

-spec texCoord1iv({S :: i()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord1s(S :: i()) -> ok.

等同於 texCoord4sv/1

-spec texCoord1sv({S :: i()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord2d(S :: f(), T :: f()) -> ok.

等同於 texCoord4sv/1

-spec texCoord2dv({S :: f(), T :: f()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord2f(S :: f(), T :: f()) -> ok.

等同於 texCoord4sv/1

-spec texCoord2fv({S :: f(), T :: f()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord2i(S :: i(), T :: i()) -> ok.

等同於 texCoord4sv/1

-spec texCoord2iv({S :: i(), T :: i()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord2s(S :: i(), T :: i()) -> ok.

等同於 texCoord4sv/1

-spec texCoord2sv({S :: i(), T :: i()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord3d(S :: f(), T :: f(), R :: f()) -> ok.

等同於 texCoord4sv/1

-spec texCoord3dv({S :: f(), T :: f(), R :: f()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord3f(S :: f(), T :: f(), R :: f()) -> ok.

等同於 texCoord4sv/1

-spec texCoord3fv({S :: f(), T :: f(), R :: f()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord3i(S :: i(), T :: i(), R :: i()) -> ok.

等同於 texCoord4sv/1

-spec texCoord3iv({S :: i(), T :: i(), R :: i()}) -> ok.

等同於 texCoord4sv/1

-spec texCoord3s(S :: i(), T :: i(), R :: i()) -> ok.

等同於 texCoord4sv/1

-spec texCoord3sv({S :: i(), T :: i(), R :: i()}) -> ok.

等同於 texCoord4sv/1

連結到此函式

texCoord4d(S, T, R, Q)

檢視原始碼
-spec texCoord4d(S :: f(), T :: f(), R :: f(), Q :: f()) -> ok.

等同於 texCoord4sv/1

-spec texCoord4dv({S :: f(), T :: f(), R :: f(), Q :: f()}) -> ok.

等同於 texCoord4sv/1

連結到此函式

texCoord4f(S, T, R, Q)

檢視原始碼
-spec texCoord4f(S :: f(), T :: f(), R :: f(), Q :: f()) -> ok.

等同於 texCoord4sv/1

-spec texCoord4fv({S :: f(), T :: f(), R :: f(), Q :: f()}) -> ok.

等同於 texCoord4sv/1

連結到此函式

texCoord4i(S, T, R, Q)

檢視原始碼
-spec texCoord4i(S :: i(), T :: i(), R :: i(), Q :: i()) -> ok.

等同於 texCoord4sv/1

-spec texCoord4iv({S :: i(), T :: i(), R :: i(), Q :: i()}) -> ok.

等同於 texCoord4sv/1

連結到此函式

texCoord4s(S, T, R, Q)

檢視原始碼
-spec texCoord4s(S :: i(), T :: i(), R :: i(), Q :: i()) -> ok.

等同於 texCoord4sv/1

-spec texCoord4sv({S :: i(), T :: i(), R :: i(), Q :: i()}) -> ok.

gl:texCoord() 指定一維、二維、三維或四維的紋理座標。gl:texCoord1() 將當前紋理座標設定為 (s 0 0 1);呼叫 gl:texCoord2() 將其設定為 (s t 0 1)。同樣,gl:texCoord3() 將紋理座標指定為 (s t r 1),而 gl:texCoord4() 則將所有四個分量明確定義為 (s t r q)。

外部文件。

連結到此函式

texCoordPointer(Size, Type, Stride, Ptr)

檢視原始碼
-spec texCoordPointer(Size :: i(), Type :: enum(), Stride :: i(), Ptr :: offset() | mem()) -> ok.

gl:texCoordPointer/4 指定在渲染時要使用的紋理座標陣列的位置和資料格式。Size 指定每個紋理座標集的座標數量,並且必須為 1、2、3 或 4。Type 指定每個紋理座標的資料類型,而 Stride 指定從一個紋理座標集到下一個紋理座標集的位元組跨距,允許將頂點和屬性打包到單個陣列中或儲存在單獨的陣列中。(在某些實作中,單陣列儲存可能更有效率;請參閱 gl:interleavedArrays/3。)

外部文件。

連結到此函式

texEnvf(Target, Pname, Param)

檢視原始碼
-spec texEnvf(Target :: enum(), Pname :: enum(), Param :: f()) -> ok.

等同於 texEnviv/3

連結到此函式

texEnvfv(Target, Pname, Params)

檢視原始碼
-spec texEnvfv(Target :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 texEnviv/3

連結到此函式

texEnvi(Target, Pname, Param)

檢視原始碼
-spec texEnvi(Target :: enum(), Pname :: enum(), Param :: i()) -> ok.

等同於 texEnviv/3

連結到此函式

texEnviv(Target, Pname, Params)

檢視原始碼
-spec texEnviv(Target :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

紋理環境指定在對片段進行紋理處理時如何解釋紋理值。當 Target?GL_TEXTURE_FILTER_CONTROL 時,Pname 必須為 ?GL_TEXTURE_LOD_BIAS。當 Target?GL_TEXTURE_ENV 時,Pname 可以是 ?GL_TEXTURE_ENV_MODE?GL_TEXTURE_ENV_COLOR?GL_COMBINE_RGB?GL_COMBINE_ALPHA?GL_RGB_SCALE?GL_ALPHA_SCALE?GL_SRC0_RGB?GL_SRC1_RGB?GL_SRC2_RGB?GL_SRC0_ALPHA?GL_SRC1_ALPHA?GL_SRC2_ALPHA

外部文件。

連結到此函式

texGend(Coord, Pname, Param)

檢視原始碼
-spec texGend(Coord :: enum(), Pname :: enum(), Param :: f()) -> ok.

等同於 texGeniv/3

連結到此函式

texGendv(Coord, Pname, Params)

檢視原始碼
-spec texGendv(Coord :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 texGeniv/3

連結到此函式

texGenf(Coord, Pname, Param)

檢視原始碼
-spec texGenf(Coord :: enum(), Pname :: enum(), Param :: f()) -> ok.

等同於 texGeniv/3

連結到此函式

texGenfv(Coord, Pname, Params)

檢視原始碼
-spec texGenfv(Coord :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 texGeniv/3

連結到此函式

texGeni(Coord, Pname, Param)

檢視原始碼
-spec texGeni(Coord :: enum(), Pname :: enum(), Param :: i()) -> ok.

等同於 texGeniv/3

連結到此函式

texGeniv(Coord, Pname, Params)

檢視原始碼
-spec texGeniv(Coord :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

gl:texGen() 選擇紋理座標生成函式或為其中一個函式提供係數。Coord 命名 (strq) 紋理座標之一;它必須是符號 ?GL_S?GL_T?GL_R?GL_Q 之一。Pname 必須是三個符號常數之一:?GL_TEXTURE_GEN_MODE?GL_OBJECT_PLANE?GL_EYE_PLANE。如果 Pname?GL_TEXTURE_GEN_MODE,則 Params 選擇一種模式,即 ?GL_OBJECT_LINEAR?GL_EYE_LINEAR?GL_SPHERE_MAP?GL_NORMAL_MAP?GL_REFLECTION_MAP 之一。如果 Pname?GL_OBJECT_PLANE?GL_EYE_PLANE,則 Params 包含對應紋理生成函式的係數。

外部文件。

連結到此函式

texImage1D(Target, Level, InternalFormat, Width, Border, Format, Type, Pixels)

檢視原始碼
-spec texImage1D(Target, Level, InternalFormat, Width, Border, Format, Type, Pixels) -> ok
                    when
                        Target :: enum(),
                        Level :: i(),
                        InternalFormat :: i(),
                        Width :: i(),
                        Border :: i(),
                        Format :: enum(),
                        Type :: enum(),
                        Pixels :: offset() | mem().

紋理處理將指定紋理影像的一部分映射到啟用紋理處理的每個圖形圖元。若要啟用和停用一維紋理處理,請使用引數 ?GL_TEXTURE_1D 呼叫 gl:enable/1gl:disable/1

外部文件。

連結到此函式

texImage2D(Target, Level, InternalFormat, Width, Height, Border, Format, Type, Pixels)

檢視原始碼
-spec texImage2D(Target, Level, InternalFormat, Width, Height, Border, Format, Type, Pixels) -> ok
                    when
                        Target :: enum(),
                        Level :: i(),
                        InternalFormat :: i(),
                        Width :: i(),
                        Height :: i(),
                        Border :: i(),
                        Format :: enum(),
                        Type :: enum(),
                        Pixels :: offset() | mem().

紋理貼圖允許著色器讀取影像陣列的元素。

外部文件。

連結到此函式

texImage2DMultisample(Target, Samples, Internalformat, Width, Height, Fixedsamplelocations)

檢視原始碼
-spec texImage2DMultisample(Target, Samples, Internalformat, Width, Height, Fixedsamplelocations) -> ok
                               when
                                   Target :: enum(),
                                   Samples :: i(),
                                   Internalformat :: enum(),
                                   Width :: i(),
                                   Height :: i(),
                                   Fixedsamplelocations :: 0 | 1.

gl:texImage2DMultisample/6 建立多重取樣紋理影像的資料儲存、格式、尺寸和取樣數量。

外部文件。

連結到此函式

texImage3D(Target, Level, InternalFormat, Width, Height, Depth, Border, Format, Type, Pixels)

檢視原始碼
-spec texImage3D(Target, Level, InternalFormat, Width, Height, Depth, Border, Format, Type, Pixels) ->
                    ok
                    when
                        Target :: enum(),
                        Level :: i(),
                        InternalFormat :: i(),
                        Width :: i(),
                        Height :: i(),
                        Depth :: i(),
                        Border :: i(),
                        Format :: enum(),
                        Type :: enum(),
                        Pixels :: offset() | mem().

紋理處理將指定紋理影像的一部分映射到啟用紋理處理的每個圖形圖元。若要啟用和停用三維紋理處理,請使用引數 ?GL_TEXTURE_3D 呼叫 gl:enable/1gl:disable/1

外部文件。

連結到此函式

texImage3DMultisample(Target, Samples, Internalformat, Width, Height, Depth, Fixedsamplelocations)

檢視原始碼
-spec texImage3DMultisample(Target, Samples, Internalformat, Width, Height, Depth, Fixedsamplelocations) ->
                               ok
                               when
                                   Target :: enum(),
                                   Samples :: i(),
                                   Internalformat :: enum(),
                                   Width :: i(),
                                   Height :: i(),
                                   Depth :: i(),
                                   Fixedsamplelocations :: 0 | 1.

gl:texImage3DMultisample/7 建立多重取樣紋理影像的資料儲存、格式、尺寸和取樣數量。

外部文件。

連結到此函式

texParameterf(Target, Pname, Param)

檢視原始碼
-spec texParameterf(Target :: enum(), Pname :: enum(), Param :: f()) -> ok.

等同於 texParameteriv/3

連結到此函式

texParameterfv(Target, Pname, Params)

檢視原始碼
-spec texParameterfv(Target :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 texParameteriv/3

連結到此函式

texParameterIiv(Target, Pname, Params)

檢視原始碼
-spec texParameterIiv(Target :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 texParameteriv/3

連結到此函式

texParameterIuiv(Target, Pname, Params)

檢視原始碼
-spec texParameterIuiv(Target :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

等同於 texParameteriv/3

連結到此函式

texParameteri(Target, Pname, Param)

檢視原始碼
-spec texParameteri(Target :: enum(), Pname :: enum(), Param :: i()) -> ok.

等同於 texParameteriv/3

連結到此函式

texParameteriv(Target, Pname, Params)

檢視原始碼
-spec texParameteriv(Target :: enum(), Pname :: enum(), Params :: tuple()) -> ok.

gl:texParameter()gl:textureParameter()Params 中的值或多個值指派給指定為 Pname 的紋理參數。對於 gl:texParameter()Target 定義目標紋理,可以是 ?GL_TEXTURE_1D?GL_TEXTURE_1D_ARRAY?GL_TEXTURE_2D?GL_TEXTURE_2D_ARRAY?GL_TEXTURE_2D_MULTISAMPLE?GL_TEXTURE_2D_MULTISAMPLE_ARRAY?GL_TEXTURE_3D?GL_TEXTURE_CUBE_MAP?GL_TEXTURE_CUBE_MAP_ARRAY?GL_TEXTURE_RECTANGLE。以下符號可在 Pname 中接受

外部文件。

連結到此函式

texStorage1D(Target, Levels, Internalformat, Width)

檢視原始碼
-spec texStorage1D(Target :: enum(), Levels :: i(), Internalformat :: enum(), Width :: i()) -> ok.

gl:texStorage1D/4gl:textureStorage1D() 同時指定一維紋理所有層級的儲存需求。使用此命令指定紋理後,除非它是代理紋理,否則所有層級的格式和尺寸都會變成不可變的。但是,影像的內容仍然可以修改,但其儲存需求不得變更。此類紋理稱為 immutable-format 紋理。

外部文件。

連結到此函式

texStorage2D(目標, 層級, 內部格式, 寬度, 高度)

檢視原始碼
-spec texStorage2D(Target :: enum(),
                   Levels :: i(),
                   Internalformat :: enum(),
                   Width :: i(),
                   Height :: i()) ->
                      ok.

gl:texStorage2D/5gl:textureStorage2D() 同時指定二維紋理或一維紋理陣列所有層級的儲存需求。一旦使用此命令指定紋理,除非是代理紋理,否則所有層級的格式和尺寸都將變為不可變。然而,影像的內容仍然可以修改,但其儲存需求不能改變。這種紋理稱為 不可變格式 紋理。

外部文件。

連結到此函式

texStorage2DMultisample(目標, 樣本數, 內部格式, 寬度, 高度, 固定樣本位置)

檢視原始碼
-spec texStorage2DMultisample(Target, Samples, Internalformat, Width, Height, Fixedsamplelocations) ->
                                 ok
                                 when
                                     Target :: enum(),
                                     Samples :: i(),
                                     Internalformat :: enum(),
                                     Width :: i(),
                                     Height :: i(),
                                     Fixedsamplelocations :: 0 | 1.

gl:texStorage2DMultisample/6gl:textureStorage2DMultisample() 指定二維多重採樣紋理的儲存需求。一旦使用此命令指定紋理,除非是代理紋理,否則其格式和尺寸都將變為不可變。然而,影像的內容仍然可以修改,但其儲存需求不能改變。這種紋理稱為 不可變格式 紋理。

外部文件。

連結到此函式

texStorage3D(目標, 層級, 內部格式, 寬度, 高度, 深度)

檢視原始碼
-spec texStorage3D(Target, Levels, Internalformat, Width, Height, Depth) -> ok
                      when
                          Target :: enum(),
                          Levels :: i(),
                          Internalformat :: enum(),
                          Width :: i(),
                          Height :: i(),
                          Depth :: i().

gl:texStorage3D/6gl:textureStorage3D() 同時指定三維、二維陣列或立方體貼圖陣列紋理所有層級的儲存需求。一旦使用此命令指定紋理,除非是代理紋理,否則所有層級的格式和尺寸都將變為不可變。然而,影像的內容仍然可以修改,但其儲存需求不能改變。這種紋理稱為 不可變格式 紋理。

外部文件。

連結到此函式

texStorage3DMultisample(目標, 樣本數, 內部格式, 寬度, 高度, 深度, 固定樣本位置)

檢視原始碼
-spec texStorage3DMultisample(Target, Samples, Internalformat, Width, Height, Depth,
                              Fixedsamplelocations) ->
                                 ok
                                 when
                                     Target :: enum(),
                                     Samples :: i(),
                                     Internalformat :: enum(),
                                     Width :: i(),
                                     Height :: i(),
                                     Depth :: i(),
                                     Fixedsamplelocations :: 0 | 1.

gl:texStorage3DMultisample/7gl:textureStorage3DMultisample() 指定二維多重採樣陣列紋理的儲存需求。一旦使用此命令指定紋理,除非是代理紋理,否則其格式和尺寸都將變為不可變。然而,影像的內容仍然可以修改,但其儲存需求不能改變。這種紋理稱為 不可變格式 紋理。

外部文件。

連結到此函式

texSubImage1D(目標, 層級, X偏移, 寬度, 格式, 類型, 像素)

檢視原始碼
-spec texSubImage1D(Target, Level, Xoffset, Width, Format, Type, Pixels) -> ok
                       when
                           Target :: enum(),
                           Level :: i(),
                           Xoffset :: i(),
                           Width :: i(),
                           Format :: enum(),
                           Type :: enum(),
                           Pixels :: offset() | mem().

紋理映射將指定紋理影像的一部分映射到啟用紋理的每個圖形圖元上。要啟用或停用一維紋理,請使用參數 ?GL_TEXTURE_1D 呼叫 gl:enable/1gl:disable/1

外部文件。

連結到此函式

texSubImage2D(目標, 層級, X偏移, Y偏移, 寬度, 高度, 格式, 類型, 像素)

檢視原始碼
-spec texSubImage2D(Target, Level, Xoffset, Yoffset, Width, Height, Format, Type, Pixels) -> ok
                       when
                           Target :: enum(),
                           Level :: i(),
                           Xoffset :: i(),
                           Yoffset :: i(),
                           Width :: i(),
                           Height :: i(),
                           Format :: enum(),
                           Type :: enum(),
                           Pixels :: offset() | mem().

紋理映射將指定紋理影像的一部分映射到啟用紋理的每個圖形圖元上。

外部文件。

連結到此函式

texSubImage3D(目標, 層級, X偏移, Y偏移, Z偏移, 寬度, 高度, 深度, 格式, 類型, 像素)

檢視原始碼
-spec texSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth, Format, Type,
                    Pixels) ->
                       ok
                       when
                           Target :: enum(),
                           Level :: i(),
                           Xoffset :: i(),
                           Yoffset :: i(),
                           Zoffset :: i(),
                           Width :: i(),
                           Height :: i(),
                           Depth :: i(),
                           Format :: enum(),
                           Type :: enum(),
                           Pixels :: offset() | mem().

紋理映射將指定紋理影像的一部分映射到啟用紋理的每個圖形圖元上。

外部文件。

-spec textureBarrier() -> ok.

當著色器階段擷取紋素,且相同的紋素透過片段著色器輸出寫入時,渲染片段的值是未定義的,即使讀取和寫入不在同一個繪圖命令中也是如此。為了安全地透過後續繪圖命令中的紋素擷取讀取寫入紋素的結果,請在兩個繪圖命令之間呼叫 gl:textureBarrier/0,以保證寫入已完成,並且在執行後續繪圖命令之前快取已失效。

外部文件。

連結到此函式

textureBuffer(紋理, 內部格式, 緩衝區)

檢視原始碼
-spec textureBuffer(Texture :: i(), Internalformat :: enum(), Buffer :: i()) -> ok.

gl:texBuffer/3gl:textureBuffer/3 將指定緩衝區物件的資料儲存區附加到指定的紋理物件,並指定緩衝區物件中找到的紋理影像的儲存格式。紋理物件必須是緩衝區紋理。

外部文件。

連結到此函式

textureBufferRange(紋理, 內部格式, 緩衝區, 偏移, 大小)

檢視原始碼
-spec textureBufferRange(Texture :: i(),
                         Internalformat :: enum(),
                         Buffer :: i(),
                         Offset :: i(),
                         Size :: i()) ->
                            ok.

gl:texBufferRange/5gl:textureBufferRange/5 將指定緩衝區物件的資料儲存區範圍附加到指定的紋理物件,並指定緩衝區物件中找到的紋理影像的儲存格式。紋理物件必須是緩衝區紋理。

外部文件。

連結到此函式

textureView(紋理, 目標, 原始紋理, 內部格式, 最小層級, 層級數, 最小圖層, 圖層數)

檢視原始碼
-spec textureView(Texture, Target, Origtexture, Internalformat, Minlevel, Numlevels, Minlayer,
                  Numlayers) ->
                     ok
                     when
                         Texture :: i(),
                         Target :: enum(),
                         Origtexture :: i(),
                         Internalformat :: enum(),
                         Minlevel :: i(),
                         Numlevels :: i(),
                         Minlayer :: i(),
                         Numlayers :: i().

gl:textureView/8 將紋理物件初始化為別名,或是另一個紋理物件的視圖,與初始化的紋理共用部分或全部父紋理的資料儲存區。紋理 指定先前透過成功呼叫 gl:genTextures/1 所保留的名稱,但尚未繫結或給定目標。目標 指定新初始化紋理的目標,且必須與父紋理的目標相容,在下表中以 原始紋理 給定。

外部文件。

連結到此函式

transformFeedbackBufferBase(Xfb, 索引, 緩衝區)

檢視原始碼
-spec transformFeedbackBufferBase(Xfb :: i(), Index :: i(), Buffer :: i()) -> ok.

gl:transformFeedbackBufferBase/3 將緩衝區物件 緩衝區 繫結到變換回饋物件 Xfb 的索引 索引 處的繫結點。

外部文件。

連結到此函式

transformFeedbackBufferRange(Xfb, 索引, 緩衝區, 偏移, 大小)

檢視原始碼
-spec transformFeedbackBufferRange(Xfb :: i(), Index :: i(), Buffer :: i(), Offset :: i(), Size :: i()) ->
                                      ok.

gl:transformFeedbackBufferRange/5 將由 偏移大小 表示的緩衝區物件 緩衝區 的範圍繫結到變換回饋物件 Xfb 的索引 索引 處的繫結點。

外部文件。

連結到此函式

transformFeedbackVaryings(程式, 變量, 緩衝區模式)

檢視原始碼
-spec transformFeedbackVaryings(Program :: i(), Varyings :: [unicode:chardata()], BufferMode :: enum()) ->
                                   ok.

要記錄在變換回饋模式中的頂點或幾何著色器輸出的名稱,是使用 gl:transformFeedbackVaryings/3 指定的。當幾何著色器處於作用中時,變換回饋會記錄發射頂點中選取的幾何著色器輸出變數的值。否則,會記錄選取的頂點著色器輸出的值。

外部文件。

-spec translated(X :: f(), Y :: f(), Z :: f()) -> ok.

等效於 translatef/3

-spec translatef(X :: f(), Y :: f(), Z :: f()) -> ok.

gl:translate() 產生 (x y z) 的平移。目前矩陣(請參閱 gl:matrixMode/1)乘以這個平移矩陣,乘積取代目前矩陣,如同呼叫 gl:multMatrix() 時將以下矩陣作為其引數

外部文件。

-spec uniform1d(Location :: i(), X :: f()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform1dv(位置, 值)

檢視原始碼
-spec uniform1dv(Location :: i(), Value :: [f()]) -> ok.

等效於 uniformMatrix4x3fv/3

-spec uniform1f(Location :: i(), V0 :: f()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform1fv(位置, 值)

檢視原始碼
-spec uniform1fv(Location :: i(), Value :: [f()]) -> ok.

等效於 uniformMatrix4x3fv/3

-spec uniform1i(Location :: i(), V0 :: i()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform1iv(位置, 值)

檢視原始碼
-spec uniform1iv(Location :: i(), Value :: [i()]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform1ui(位置, V0)

檢視原始碼
-spec uniform1ui(Location :: i(), V0 :: i()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform1uiv(位置, 值)

檢視原始碼
-spec uniform1uiv(Location :: i(), Value :: [i()]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform2d(位置, X, Y)

檢視原始碼
-spec uniform2d(Location :: i(), X :: f(), Y :: f()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform2dv(位置, 值)

檢視原始碼
-spec uniform2dv(Location :: i(), Value :: [{f(), f()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform2f(位置, V0, V1)

檢視原始碼
-spec uniform2f(Location :: i(), V0 :: f(), V1 :: f()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform2fv(位置, 值)

檢視原始碼
-spec uniform2fv(Location :: i(), Value :: [{f(), f()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform2i(位置, V0, V1)

檢視原始碼
-spec uniform2i(Location :: i(), V0 :: i(), V1 :: i()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform2iv(位置, 值)

檢視原始碼
-spec uniform2iv(Location :: i(), Value :: [{i(), i()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform2ui(位置, V0, V1)

檢視原始碼
-spec uniform2ui(Location :: i(), V0 :: i(), V1 :: i()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform2uiv(位置, 值)

檢視原始碼
-spec uniform2uiv(Location :: i(), Value :: [{i(), i()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform3d(位置, X, Y, Z)

檢視原始碼
-spec uniform3d(Location :: i(), X :: f(), Y :: f(), Z :: f()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform3dv(位置, 值)

檢視原始碼
-spec uniform3dv(Location :: i(), Value :: [{f(), f(), f()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform3f(位置, V0, V1, V2)

檢視原始碼
-spec uniform3f(Location :: i(), V0 :: f(), V1 :: f(), V2 :: f()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform3fv(位置, 值)

檢視原始碼
-spec uniform3fv(Location :: i(), Value :: [{f(), f(), f()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform3i(位置, V0, V1, V2)

檢視原始碼
-spec uniform3i(Location :: i(), V0 :: i(), V1 :: i(), V2 :: i()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform3iv(位置, 值)

檢視原始碼
-spec uniform3iv(Location :: i(), Value :: [{i(), i(), i()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform3ui(位置, V0, V1, V2)

檢視原始碼
-spec uniform3ui(Location :: i(), V0 :: i(), V1 :: i(), V2 :: i()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform3uiv(位置, 值)

檢視原始碼
-spec uniform3uiv(Location :: i(), Value :: [{i(), i(), i()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform4d(位置, X, Y, Z, W)

檢視原始碼
-spec uniform4d(Location :: i(), X :: f(), Y :: f(), Z :: f(), W :: f()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform4dv(位置, 值)

檢視原始碼
-spec uniform4dv(Location :: i(), Value :: [{f(), f(), f(), f()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform4f(位置, V0, V1, V2, V3)

檢視原始碼
-spec uniform4f(Location :: i(), V0 :: f(), V1 :: f(), V2 :: f(), V3 :: f()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform4fv(位置, 值)

檢視原始碼
-spec uniform4fv(Location :: i(), Value :: [{f(), f(), f(), f()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform4i(位置, V0, V1, V2, V3)

檢視原始碼
-spec uniform4i(Location :: i(), V0 :: i(), V1 :: i(), V2 :: i(), V3 :: i()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform4iv(位置, 值)

檢視原始碼
-spec uniform4iv(Location :: i(), Value :: [{i(), i(), i(), i()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform4ui(位置, V0, V1, V2, V3)

檢視原始碼
-spec uniform4ui(Location :: i(), V0 :: i(), V1 :: i(), V2 :: i(), V3 :: i()) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniform4uiv(位置, 值)

檢視原始碼
-spec uniform4uiv(Location :: i(), Value :: [{i(), i(), i(), i()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformBlockBinding(程式, Uniform區塊索引, Uniform區塊繫結)

檢視原始碼
-spec uniformBlockBinding(Program :: i(), UniformBlockIndex :: i(), UniformBlockBinding :: i()) -> ok.

使用 gl:uniformBlockBinding/3 指派作用中 Uniform 區塊的繫結點。每個程式的作用中 Uniform 區塊都有一個對應的 Uniform 緩衝區繫結點。程式 是先前已發出 gl:linkProgram/1 命令的程式物件的名稱。

外部文件。

連結到此函式

uniformMatrix2dv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix2dv(Location :: i(), Transpose :: 0 | 1, Value :: [{f(), f(), f(), f()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix2fv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix2fv(Location :: i(), Transpose :: 0 | 1, Value :: [{f(), f(), f(), f()}]) -> ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix2x3dv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix2x3dv(Location :: i(), Transpose :: 0 | 1, Value :: [{f(), f(), f(), f(), f(), f()}]) ->
                            ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix2x3fv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix2x3fv(Location :: i(), Transpose :: 0 | 1, Value :: [{f(), f(), f(), f(), f(), f()}]) ->
                            ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix2x4dv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix2x4dv(Location :: i(),
                         Transpose :: 0 | 1,
                         Value :: [{f(), f(), f(), f(), f(), f(), f(), f()}]) ->
                            ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix2x4fv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix2x4fv(Location :: i(),
                         Transpose :: 0 | 1,
                         Value :: [{f(), f(), f(), f(), f(), f(), f(), f()}]) ->
                            ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix3dv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix3dv(Location :: i(),
                       Transpose :: 0 | 1,
                       Value :: [{f(), f(), f(), f(), f(), f(), f(), f(), f()}]) ->
                          ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix3fv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix3fv(Location :: i(),
                       Transpose :: 0 | 1,
                       Value :: [{f(), f(), f(), f(), f(), f(), f(), f(), f()}]) ->
                          ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix3x2dv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix3x2dv(Location :: i(), Transpose :: 0 | 1, Value :: [{f(), f(), f(), f(), f(), f()}]) ->
                            ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix3x2fv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix3x2fv(Location :: i(), Transpose :: 0 | 1, Value :: [{f(), f(), f(), f(), f(), f()}]) ->
                            ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix3x4dv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix3x4dv(Location, Transpose, Value) -> ok
                            when
                                Location :: i(),
                                Transpose :: 0 | 1,
                                Value :: [{f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}].

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix3x4fv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix3x4fv(Location, Transpose, Value) -> ok
                            when
                                Location :: i(),
                                Transpose :: 0 | 1,
                                Value :: [{f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}].

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix4dv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix4dv(Location, Transpose, Value) -> ok
                          when
                              Location :: i(),
                              Transpose :: 0 | 1,
                              Value ::
                                  [{f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f()}].

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix4fv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix4fv(Location, Transpose, Value) -> ok
                          when
                              Location :: i(),
                              Transpose :: 0 | 1,
                              Value ::
                                  [{f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f(),
                                    f()}].

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix4x2dv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix4x2dv(Location :: i(),
                         Transpose :: 0 | 1,
                         Value :: [{f(), f(), f(), f(), f(), f(), f(), f()}]) ->
                            ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix4x2fv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix4x2fv(Location :: i(),
                         Transpose :: 0 | 1,
                         Value :: [{f(), f(), f(), f(), f(), f(), f(), f()}]) ->
                            ok.

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix4x3dv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix4x3dv(Location, Transpose, Value) -> ok
                            when
                                Location :: i(),
                                Transpose :: 0 | 1,
                                Value :: [{f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}].

等效於 uniformMatrix4x3fv/3

連結到此函式

uniformMatrix4x3fv(位置, 轉置, 值)

檢視原始碼
-spec uniformMatrix4x3fv(Location, Transpose, Value) -> ok
                            when
                                Location :: i(),
                                Transpose :: 0 | 1,
                                Value :: [{f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}].

gl:uniform() 修改 Uniform 變數或 Uniform 變數陣列的值。要修改的 Uniform 變數的位置由 位置 指定,它應該是由 gl:getUniformLocation/2 傳回的值。gl:uniform() 在呼叫 gl:useProgram/1 使其成為目前狀態一部分的程式物件上運作。

外部文件。

連結到此函式

uniformSubroutinesuiv(著色器類型, 索引)

檢視原始碼
-spec uniformSubroutinesuiv(Shadertype :: enum(), Indices :: [i()]) -> ok.

gl:uniformSubroutines() 使用來自 索引 的子常式索引,載入目前程式的著色器階段 著色器類型 的所有作用中子常式 Uniform,將 索引[i] 儲存到位置 I 的 Uniform。計數 必須等於目前使用中著色器階段 著色器類型 的程式的 ?GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 值。此外,索引 中的所有值都必須小於著色器階段的 ?GL_ACTIVE_SUBROUTINES 值。

外部文件。

-spec useProgram(Program :: i()) -> ok.

gl:useProgram/1 安裝由 程式 指定的程式物件作為目前渲染狀態的一部分。透過使用 gl:attachShader/2 將著色器物件成功附加到程式物件,使用 gl:compileShader/1 成功編譯著色器物件,並使用 gl:linkProgram/1 成功連結程式物件,在程式物件中建立一個或多個可執行檔。

外部文件。

連結到此函式

useProgramStages(管線, 階段, 程式)

檢視原始碼
-spec useProgramStages(Pipeline :: i(), Stages :: i(), Program :: i()) -> ok.

gl:useProgramStages/3 將與指定的一組著色器階段相關聯的程式物件中的可執行檔繫結到由 管線 給定的程式管線物件。管線 指定要繫結可執行檔的程式管線物件。階段 包含一個邏輯組合位,表示在程式管線物件 管線 中使用 程式 內的著色器階段。階段 必須是 ?GL_VERTEX_SHADER_BIT?GL_TESS_CONTROL_SHADER_BIT?GL_TESS_EVALUATION_SHADER_BIT?GL_GEOMETRY_SHADER_BIT?GL_FRAGMENT_SHADER_BIT?GL_COMPUTE_SHADER_BIT 的邏輯組合。此外,可以指定特殊值 ?GL_ALL_SHADER_BITS,表示應該將 程式 中包含的所有可執行檔安裝到 管線 中。

外部文件。

連結到此函式

validateProgram(程式)

檢視原始碼
-spec validateProgram(Program :: i()) -> ok.

gl:validateProgram/1 檢查 程式 中包含的可執行檔是否可以在目前的 OpenGL 狀態下執行。驗證過程產生的資訊將儲存在 程式 的資訊日誌中。驗證資訊可能包含一個空字串,或者可能是一個包含有關目前程式物件如何與目前 OpenGL 狀態的其他部分互動的資訊的字串。這為 OpenGL 實作人員提供了一種方法,可以傳達有關為何目前程式效率低下、次佳、無法執行等等的更多資訊。

外部文件。

連結到此函式

validateProgramPipeline(管線)

檢視原始碼
-spec validateProgramPipeline(Pipeline :: i()) -> ok.

gl:validateProgramPipeline/1 指示實作驗證 Pipeline 中包含的著色器執行檔與目前的 GL 狀態。實作可能會利用此機會執行任何內部著色器修改,以確保在目前 GL 狀態下,已安裝的著色器能正確運作。

外部文件。

-spec vertex2d(X :: f(), Y :: f()) -> ok.

等同於 vertex4sv/1

-spec vertex2dv({X :: f(), Y :: f()}) -> ok.

等同於 vertex4sv/1

-spec vertex2f(X :: f(), Y :: f()) -> ok.

等同於 vertex4sv/1

-spec vertex2fv({X :: f(), Y :: f()}) -> ok.

等同於 vertex4sv/1

-spec vertex2i(X :: i(), Y :: i()) -> ok.

等同於 vertex4sv/1

-spec vertex2iv({X :: i(), Y :: i()}) -> ok.

等同於 vertex4sv/1

-spec vertex2s(X :: i(), Y :: i()) -> ok.

等同於 vertex4sv/1

-spec vertex2sv({X :: i(), Y :: i()}) -> ok.

等同於 vertex4sv/1

-spec vertex3d(X :: f(), Y :: f(), Z :: f()) -> ok.

等同於 vertex4sv/1

-spec vertex3dv({X :: f(), Y :: f(), Z :: f()}) -> ok.

等同於 vertex4sv/1

-spec vertex3f(X :: f(), Y :: f(), Z :: f()) -> ok.

等同於 vertex4sv/1

-spec vertex3fv({X :: f(), Y :: f(), Z :: f()}) -> ok.

等同於 vertex4sv/1

-spec vertex3i(X :: i(), Y :: i(), Z :: i()) -> ok.

等同於 vertex4sv/1

-spec vertex3iv({X :: i(), Y :: i(), Z :: i()}) -> ok.

等同於 vertex4sv/1

-spec vertex3s(X :: i(), Y :: i(), Z :: i()) -> ok.

等同於 vertex4sv/1

-spec vertex3sv({X :: i(), Y :: i(), Z :: i()}) -> ok.

等同於 vertex4sv/1

-spec vertex4d(X :: f(), Y :: f(), Z :: f(), W :: f()) -> ok.

等同於 vertex4sv/1

-spec vertex4dv({X :: f(), Y :: f(), Z :: f(), W :: f()}) -> ok.

等同於 vertex4sv/1

-spec vertex4f(X :: f(), Y :: f(), Z :: f(), W :: f()) -> ok.

等同於 vertex4sv/1

-spec vertex4fv({X :: f(), Y :: f(), Z :: f(), W :: f()}) -> ok.

等同於 vertex4sv/1

-spec vertex4i(X :: i(), Y :: i(), Z :: i(), W :: i()) -> ok.

等同於 vertex4sv/1

-spec vertex4iv({X :: i(), Y :: i(), Z :: i(), W :: i()}) -> ok.

等同於 vertex4sv/1

-spec vertex4s(X :: i(), Y :: i(), Z :: i(), W :: i()) -> ok.

等同於 vertex4sv/1

-spec vertex4sv({X :: i(), Y :: i(), Z :: i(), W :: i()}) -> ok.

gl:vertex() 命令在 gl:'begin'/1/gl:'end'/0 配對中使用,以指定點、線和多邊形的頂點。當呼叫 gl:vertex() 時,目前的顏色、法線、紋理座標和霧座標會與頂點相關聯。

外部文件。

連結到此函式

vertexArrayAttribBinding(Vaobj, Attribindex, Bindingindex)

檢視原始碼
-spec vertexArrayAttribBinding(Vaobj :: i(), Attribindex :: i(), Bindingindex :: i()) -> ok.

等同於 vertexAttribBinding/2

連結到此函式

vertexArrayAttribFormat(Vaobj, Attribindex, Size, Type, Normalized, Relativeoffset)

檢視原始碼
-spec vertexArrayAttribFormat(Vaobj, Attribindex, Size, Type, Normalized, Relativeoffset) -> ok
                                 when
                                     Vaobj :: i(),
                                     Attribindex :: i(),
                                     Size :: i(),
                                     Type :: enum(),
                                     Normalized :: 0 | 1,
                                     Relativeoffset :: i().

等同於 vertexAttribLPointer/5

連結到此函式

vertexArrayAttribIFormat(Vaobj, Attribindex, Size, Type, Relativeoffset)

檢視原始碼
-spec vertexArrayAttribIFormat(Vaobj :: i(),
                               Attribindex :: i(),
                               Size :: i(),
                               Type :: enum(),
                               Relativeoffset :: i()) ->
                                  ok.

等同於 vertexAttribLPointer/5

連結到此函式

vertexArrayAttribLFormat(Vaobj, Attribindex, Size, Type, Relativeoffset)

檢視原始碼
-spec vertexArrayAttribLFormat(Vaobj :: i(),
                               Attribindex :: i(),
                               Size :: i(),
                               Type :: enum(),
                               Relativeoffset :: i()) ->
                                  ok.

等同於 vertexAttribLPointer/5

連結到此函式

vertexArrayBindingDivisor(Vaobj, Bindingindex, Divisor)

檢視原始碼
-spec vertexArrayBindingDivisor(Vaobj :: i(), Bindingindex :: i(), Divisor :: i()) -> ok.

等同於 vertexBindingDivisor/2

連結到此函式

vertexArrayElementBuffer(Vaobj, Buffer)

檢視原始碼
-spec vertexArrayElementBuffer(Vaobj :: i(), Buffer :: i()) -> ok.

gl:vertexArrayElementBuffer/2 將 ID 為 Buffer 的緩衝區物件繫結到 ID 為 Vaobj 的頂點陣列物件的元素陣列緩衝區繫結點。如果 Buffer 為零,則會移除任何現有繫結到 Vaobj 的元素陣列緩衝區繫結。

外部文件。

連結到此函式

vertexArrayVertexBuffer(Vaobj, Bindingindex, Buffer, Offset, Stride)

檢視原始碼
-spec vertexArrayVertexBuffer(Vaobj :: i(),
                              Bindingindex :: i(),
                              Buffer :: i(),
                              Offset :: i(),
                              Stride :: i()) ->
                                 ok.

gl:bindVertexBuffer/4gl:vertexArrayVertexBuffer/5 將名為 Buffer 的緩衝區繫結到索引由 Bindingindex 給定的頂點緩衝區繫結點。gl:bindVertexBuffer/4 修改目前繫結的頂點陣列物件的繫結,而 gl:vertexArrayVertexBuffer/5 允許呼叫者使用名為 Vaobj 的引數指定頂點陣列物件的 ID,應修改該 ID 的繫結。OffsetStride 分別指定緩衝區中第一個元素的偏移量和緩衝區中元素之間的距離,兩者均以基本機器單位測量。Bindingindex 必須小於 ?GL_MAX_VERTEX_ATTRIB_BINDINGS 的值。OffsetStride 必須大於或等於零。如果 Buffer 為零,則會取消繫結目前繫結到指定繫結點的任何緩衝區。

外部文件。

連結到此函式

vertexArrayVertexBuffers(Vaobj, First, Buffers, Offsets, Strides)

檢視原始碼
-spec vertexArrayVertexBuffers(Vaobj :: i(),
                               First :: i(),
                               Buffers :: [i()],
                               Offsets :: [i()],
                               Strides :: [i()]) ->
                                  ok.

gl:bindVertexBuffers/4gl:vertexArrayVertexBuffers/5 將現有緩衝區物件陣列的儲存空間繫結到頂點陣列物件中指定數量的連續頂點緩衝區繫結點單位。對於 gl:bindVertexBuffers/4,頂點陣列物件是目前繫結的頂點陣列物件。對於 gl:vertexArrayVertexBuffers/5Vaobj 是頂點陣列物件的名稱。

外部文件。

連結到此函式

vertexAttrib1d(Index, X)

檢視原始碼
-spec vertexAttrib1d(Index :: i(), X :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib1dv(Index :: i(), {X :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib1f(Index, X)

檢視原始碼
-spec vertexAttrib1f(Index :: i(), X :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib1fv(Index :: i(), {X :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib1s(Index, X)

檢視原始碼
-spec vertexAttrib1s(Index :: i(), X :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib1sv(Index :: i(), {X :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib2d(Index, X, Y)

檢視原始碼
-spec vertexAttrib2d(Index :: i(), X :: f(), Y :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib2dv(Index :: i(), {X :: f(), Y :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib2f(Index, X, Y)

檢視原始碼
-spec vertexAttrib2f(Index :: i(), X :: f(), Y :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib2fv(Index :: i(), {X :: f(), Y :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib2s(Index, X, Y)

檢視原始碼
-spec vertexAttrib2s(Index :: i(), X :: i(), Y :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib2sv(Index :: i(), {X :: i(), Y :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib3d(Index, X, Y, Z)

檢視原始碼
-spec vertexAttrib3d(Index :: i(), X :: f(), Y :: f(), Z :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib3dv(Index :: i(), {X :: f(), Y :: f(), Z :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib3f(Index, X, Y, Z)

檢視原始碼
-spec vertexAttrib3f(Index :: i(), X :: f(), Y :: f(), Z :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib3fv(Index :: i(), {X :: f(), Y :: f(), Z :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib3s(Index, X, Y, Z)

檢視原始碼
-spec vertexAttrib3s(Index :: i(), X :: i(), Y :: i(), Z :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib3sv(Index :: i(), {X :: i(), Y :: i(), Z :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4bv(Index, V)

檢視原始碼
-spec vertexAttrib4bv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4d(Index, X, Y, Z, W)

檢視原始碼
-spec vertexAttrib4d(Index :: i(), X :: f(), Y :: f(), Z :: f(), W :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib4dv(Index :: i(), {X :: f(), Y :: f(), Z :: f(), W :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4f(Index, X, Y, Z, W)

檢視原始碼
-spec vertexAttrib4f(Index :: i(), X :: f(), Y :: f(), Z :: f(), W :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib4fv(Index :: i(), {X :: f(), Y :: f(), Z :: f(), W :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4iv(Index, V)

檢視原始碼
-spec vertexAttrib4iv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4Nbv(Index, V)

檢視原始碼
-spec vertexAttrib4Nbv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4Niv(Index, V)

檢視原始碼
-spec vertexAttrib4Niv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4Nsv(Index, V)

檢視原始碼
-spec vertexAttrib4Nsv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4Nub(Index, X, Y, Z, W)

檢視原始碼
-spec vertexAttrib4Nub(Index :: i(), X :: i(), Y :: i(), Z :: i(), W :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib4Nubv(Index :: i(), {X :: i(), Y :: i(), Z :: i(), W :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4Nuiv(Index, V)

檢視原始碼
-spec vertexAttrib4Nuiv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4Nusv(Index, V)

檢視原始碼
-spec vertexAttrib4Nusv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4s(Index, X, Y, Z, W)

檢視原始碼
-spec vertexAttrib4s(Index :: i(), X :: i(), Y :: i(), Z :: i(), W :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttrib4sv(Index :: i(), {X :: i(), Y :: i(), Z :: i(), W :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4ubv(Index, V)

檢視原始碼
-spec vertexAttrib4ubv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4uiv(Index, V)

檢視原始碼
-spec vertexAttrib4uiv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttrib4usv(Index, V)

檢視原始碼
-spec vertexAttrib4usv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribBinding(Attribindex, Bindingindex)

檢視原始碼
-spec vertexAttribBinding(Attribindex :: i(), Bindingindex :: i()) -> ok.

gl:vertexAttribBinding/2gl:vertexArrayAttribBinding/3 建立頂點陣列物件的通用頂點屬性(其索引由 Attribindex 給定)與頂點緩衝區繫結(其索引由 Bindingindex 給定)之間的關聯。對於 gl:vertexAttribBinding/2,受影響的頂點陣列物件是目前繫結的物件。對於 gl:vertexArrayAttribBinding/3Vaobj 是頂點陣列物件的名稱。

外部文件。

連結到此函式

vertexAttribDivisor(Index, Divisor)

檢視原始碼
-spec vertexAttribDivisor(Index :: i(), Divisor :: i()) -> ok.

gl:vertexAttribDivisor/2 修改在單個繪製呼叫中渲染多個圖元實例時,通用頂點屬性前進的速度。如果 Divisor 為零,則位置 Index 的屬性會每個頂點前進一次。如果 Divisor 為非零值,則該屬性會每渲染 Divisor 個頂點集合的實例前進一次。如果屬性的 ?GL_VERTEX_ATTRIB_ARRAY_DIVISOR 值為非零值,則該屬性稱為已實例化。

外部文件。

連結到此函式

vertexAttribFormat(Attribindex, Size, Type, Normalized, Relativeoffset)

檢視原始碼
-spec vertexAttribFormat(Attribindex :: i(),
                         Size :: i(),
                         Type :: enum(),
                         Normalized :: 0 | 1,
                         Relativeoffset :: i()) ->
                            ok.

等同於 vertexAttribLPointer/5

連結到此函式

vertexAttribI1i(Index, X)

檢視原始碼
-spec vertexAttribI1i(Index :: i(), X :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribI1iv(Index :: i(), {X :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI1ui(Index, X)

檢視原始碼
-spec vertexAttribI1ui(Index :: i(), X :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribI1uiv(Index :: i(), {X :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI2i(Index, X, Y)

檢視原始碼
-spec vertexAttribI2i(Index :: i(), X :: i(), Y :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribI2iv(Index :: i(), {X :: i(), Y :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI2ui(Index, X, Y)

檢視原始碼
-spec vertexAttribI2ui(Index :: i(), X :: i(), Y :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribI2uiv(Index :: i(), {X :: i(), Y :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI3i(Index, X, Y, Z)

檢視原始碼
-spec vertexAttribI3i(Index :: i(), X :: i(), Y :: i(), Z :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribI3iv(Index :: i(), {X :: i(), Y :: i(), Z :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI3ui(Index, X, Y, Z)

檢視原始碼
-spec vertexAttribI3ui(Index :: i(), X :: i(), Y :: i(), Z :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribI3uiv(Index :: i(), {X :: i(), Y :: i(), Z :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI4bv(Index, V)

檢視原始碼
-spec vertexAttribI4bv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI4i(Index, X, Y, Z, W)

檢視原始碼
-spec vertexAttribI4i(Index :: i(), X :: i(), Y :: i(), Z :: i(), W :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribI4iv(Index :: i(), {X :: i(), Y :: i(), Z :: i(), W :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI4sv(Index, V)

檢視原始碼
-spec vertexAttribI4sv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI4ubv(Index, V)

檢視原始碼
-spec vertexAttribI4ubv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI4ui(Index, X, Y, Z, W)

檢視原始碼
-spec vertexAttribI4ui(Index :: i(), X :: i(), Y :: i(), Z :: i(), W :: i()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribI4uiv(Index :: i(), {X :: i(), Y :: i(), Z :: i(), W :: i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribI4usv(Index, V)

檢視原始碼
-spec vertexAttribI4usv(Index :: i(), V :: {i(), i(), i(), i()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribIFormat(Attribindex, Size, Type, Relativeoffset)

檢視原始碼
-spec vertexAttribIFormat(Attribindex :: i(), Size :: i(), Type :: enum(), Relativeoffset :: i()) -> ok.

等同於 vertexAttribLPointer/5

連結到此函式

vertexAttribIPointer(Index, Size, Type, Stride, Pointer)

檢視原始碼
-spec vertexAttribIPointer(Index :: i(),
                           Size :: i(),
                           Type :: enum(),
                           Stride :: i(),
                           Pointer :: offset() | mem()) ->
                              ok.

等同於 vertexAttribLPointer/5

連結到此函式

vertexAttribL1d(Index, X)

檢視原始碼
-spec vertexAttribL1d(Index :: i(), X :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribL1dv(Index :: i(), {X :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribL2d(Index, X, Y)

檢視原始碼
-spec vertexAttribL2d(Index :: i(), X :: f(), Y :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribL2dv(Index :: i(), {X :: f(), Y :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribL3d(Index, X, Y, Z)

檢視原始碼
-spec vertexAttribL3d(Index :: i(), X :: f(), Y :: f(), Z :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribL3dv(Index :: i(), {X :: f(), Y :: f(), Z :: f()}) -> ok.

等同於 vertexAttribL4dv/2

連結到此函式

vertexAttribL4d(Index, X, Y, Z, W)

檢視原始碼
-spec vertexAttribL4d(Index :: i(), X :: f(), Y :: f(), Z :: f(), W :: f()) -> ok.

等同於 vertexAttribL4dv/2

-spec vertexAttribL4dv(Index :: i(), {X :: f(), Y :: f(), Z :: f(), W :: f()}) -> ok.

gl:vertexAttrib() 系列進入點允許應用程式在編號位置傳遞通用頂點屬性。

外部文件。

連結到此函式

vertexAttribLFormat(Attribindex, Size, Type, Relativeoffset)

檢視原始碼
-spec vertexAttribLFormat(Attribindex :: i(), Size :: i(), Type :: enum(), Relativeoffset :: i()) -> ok.

等同於 vertexAttribLPointer/5

連結到此函式

vertexAttribLPointer(Index, Size, Type, Stride, Pointer)

檢視原始碼
-spec vertexAttribLPointer(Index :: i(),
                           Size :: i(),
                           Type :: enum(),
                           Stride :: i(),
                           Pointer :: offset() | mem()) ->
                              ok.

gl:vertexAttribFormat/5gl:vertexAttribIFormat/4gl:vertexAttribLFormat/4,以及 gl:vertexArrayAttribFormat/6gl:vertexArrayAttribIFormat/5gl:vertexArrayAttribLFormat/5 指定頂點陣列中資料的組織方式。前三個呼叫在繫結的頂點陣列物件上運作,而最後三個呼叫會修改 ID 為 Vaobj 的頂點陣列物件的狀態。Attribindex 指定要描述其資料配置的通用頂點屬性陣列的索引,且必須小於 ?GL_MAX_VERTEX_ATTRIBS 的值。

外部文件。

連結到此函式

vertexAttribPointer(Index, Size, Type, Normalized, Stride, Pointer)

檢視原始碼
-spec vertexAttribPointer(Index, Size, Type, Normalized, Stride, Pointer) -> ok
                             when
                                 Index :: i(),
                                 Size :: i(),
                                 Type :: enum(),
                                 Normalized :: 0 | 1,
                                 Stride :: i(),
                                 Pointer :: offset() | mem().

gl:vertexAttribPointer/6gl:vertexAttribIPointer/5gl:vertexAttribLPointer/5 指定在渲染時要使用的索引 Index 處的通用頂點屬性陣列的位置和資料格式。Size 指定每個屬性的元件數,且必須為 1、2、3、4 或 ?GL_BGRAType 指定每個元件的資料類型,而 Stride 指定從一個屬性到下一個屬性的位元組跨度,允許將頂點和屬性封裝到單個陣列中或儲存在單獨的陣列中。

外部文件。

連結到此函式

vertexBindingDivisor(Bindingindex, Divisor)

檢視原始碼
-spec vertexBindingDivisor(Bindingindex :: i(), Divisor :: i()) -> ok.

gl:vertexBindingDivisor/2gl:vertexArrayBindingDivisor/3 修改在單個繪圖命令中渲染多個圖元實例時,通用頂點屬性前進的速度。如果 Divisor 為零,則使用繫結到 Bindingindex 的緩衝區的屬性會每個頂點前進一次。如果 Divisor 為非零值,則該屬性會每渲染 Divisor 個頂點集合的實例前進一次。如果對應的 Divisor 值為非零值,則該屬性稱為 instanced

外部文件。

連結到此函式

vertexPointer(Size, Type, Stride, Ptr)

檢視原始碼
-spec vertexPointer(Size :: i(), Type :: enum(), Stride :: i(), Ptr :: offset() | mem()) -> ok.

gl:vertexPointer/4 指定在渲染時要使用的頂點座標陣列的位置和資料格式。Size 指定每個頂點的座標數,且必須為 2、3 或 4。Type 指定每個座標的資料類型,而 Stride 指定從一個頂點到下一個頂點的位元組跨度,允許將頂點和屬性封裝到單個陣列中或儲存在單獨的陣列中。(在某些實作中,單陣列儲存可能更有效率;請參閱 gl:interleavedArrays/3。)

外部文件。

連結到此函式

viewport(X, Y, Width, Height)

檢視原始碼
-spec viewport(X :: i(), Y :: i(), Width :: i(), Height :: i()) -> ok.

gl:viewport/4 指定從正規化裝置座標到視窗座標的 x 和 y 的仿射轉換。令 (x nd y nd) 為正規化裝置座標。然後,視窗座標 (x w y w) 的計算方式如下

外部文件。

連結到此函式

viewportArrayv(First, V)

檢視原始碼
-spec viewportArrayv(First :: i(), V :: [{f(), f(), f(), f()}]) -> ok.

gl:viewportArrayv/2 同時指定多個視埠的參數。First 指定要修改的第一個視埠的索引,而 Count 指定要修改的視埠數。First 必須小於 ?GL_MAX_VIEWPORTS 的值,且 First + Count 必須小於或等於 ?GL_MAX_VIEWPORTS 的值。索引位於範圍 [First, First + Count) 之外的視埠不會被修改。V 包含浮點數值陣列的位址,該陣列依序指定每個視埠的左邊 (x)、底部 (y)、寬度 (w) 和高度 (h)。x 和 y 給出視埠的左下角位置,而 w 和 h 分別給出視埠的寬度和高度。視埠指定從正規化裝置座標到視窗座標的 x 和 y 的仿射轉換。令 (x nd y nd) 為正規化裝置座標。然後,視窗座標 (x w y w) 的計算方式如下

外部文件。

連結到此函式

viewportIndexedf(Index, X, Y, W, H)

檢視原始碼
-spec viewportIndexedf(Index :: i(), X :: f(), Y :: f(), W :: f(), H :: f()) -> ok.

等同於 viewportIndexedfv/2

連結到此函式

viewportIndexedfv(Index, V)

檢視原始碼
-spec viewportIndexedfv(Index :: i(), V :: {f(), f(), f(), f()}) -> ok.

gl:viewportIndexedf/5gl:viewportIndexedfv/2 指定單一視口的參數。Index 指定要修改的視口索引。Index 必須小於 ?GL_MAX_VIEWPORTS 的值。對於 gl:viewportIndexedf/5XYWH 分別以像素為單位指定視口的左側、底部、寬度和高度。對於 gl:viewportIndexedfv/2V 包含一個浮點數值陣列的地址,依序指定每個視口的左側 (x)、底部 (y)、寬度 (w) 和高度 (h)。x 和 y 給出視口左下角的坐標,而 w 和 h 給出視口的寬度和高度。視口指定了 x 和 y 從標準化裝置坐標到視窗坐標的仿射變換。令 (xnd, ynd) 為標準化裝置坐標。則視窗坐標 (xw, yw) 的計算方式如下:

外部文件。

連結到此函式

waitSync(Sync, Flags, Timeout)

檢視原始碼
-spec waitSync(Sync :: i(), Flags :: i(), Timeout :: i()) -> ok.

gl:waitSync/3 會使 GL 伺服器阻塞並等待,直到 Sync 變為已發出訊號的狀態。Sync 是要等待的現有同步物件的名稱。FlagsTimeout 目前未使用,必須分別設定為零和特殊值 ?GL_TIMEOUT_IGNORED

FlagsTimeout 是為預期未來同步物件功能擴展所保留的位置。它們必須具有這些保留值,以便現有呼叫 gl:waitSync/3 的程式碼在出現此類擴展時能正確運作。

外部文件。

-spec windowPos2d(X :: f(), Y :: f()) -> ok.

等同於 windowPos3sv/1

-spec windowPos2dv({X :: f(), Y :: f()}) -> ok.

等同於 windowPos3sv/1

-spec windowPos2f(X :: f(), Y :: f()) -> ok.

等同於 windowPos3sv/1

-spec windowPos2fv({X :: f(), Y :: f()}) -> ok.

等同於 windowPos3sv/1

-spec windowPos2i(X :: i(), Y :: i()) -> ok.

等同於 windowPos3sv/1

-spec windowPos2iv({X :: i(), Y :: i()}) -> ok.

等同於 windowPos3sv/1

-spec windowPos2s(X :: i(), Y :: i()) -> ok.

等同於 windowPos3sv/1

-spec windowPos2sv({X :: i(), Y :: i()}) -> ok.

等同於 windowPos3sv/1

-spec windowPos3d(X :: f(), Y :: f(), Z :: f()) -> ok.

等同於 windowPos3sv/1

-spec windowPos3dv({X :: f(), Y :: f(), Z :: f()}) -> ok.

等同於 windowPos3sv/1

-spec windowPos3f(X :: f(), Y :: f(), Z :: f()) -> ok.

等同於 windowPos3sv/1

-spec windowPos3fv({X :: f(), Y :: f(), Z :: f()}) -> ok.

等同於 windowPos3sv/1

-spec windowPos3i(X :: i(), Y :: i(), Z :: i()) -> ok.

等同於 windowPos3sv/1

-spec windowPos3iv({X :: i(), Y :: i(), Z :: i()}) -> ok.

等同於 windowPos3sv/1

-spec windowPos3s(X :: i(), Y :: i(), Z :: i()) -> ok.

等同於 windowPos3sv/1

-spec windowPos3sv({X :: i(), Y :: i(), Z :: i()}) -> ok.

GL 維護一個在視窗座標中的 3D 位置。這個位置稱為光柵位置 (raster position),用於定位像素和點陣圖寫入操作。它以次像素精確度維護。請參閱 gl:bitmap/7gl:drawPixels/5gl:copyPixels/5

外部文件。