簡體   English   中英

在特定坐標后停止在OpenGL上渲染紋理

[英]Stop rendering texture on OpenGL after certain coordinates

我該如何解決紋理渲染的限制。 有點像當另一半在窗口之外時只看到一半的紋理。 我一直在使用Google+進行搜索,因為“邊界”或“限制”之類的內容或其他類似內容將導致我進入其他主題。

例如,我有一個可以隨鍵盤移動的正方形,但我希望它不呈現與紅線交叉的正方形的任何部分:

在此處輸入圖片說明

我該怎么做呢?

這通常可以通過以下方式實現:

  • 剪式測試(用於矩形區域)
  • 模板測試(適用於自由形式的區域)
  • 剪切平面(用於3D平面)
  • 着色器中的自定義代碼(用於現代OpenGL和完全控制)

查看@Krom Stern的詳盡答案。 我只想詳細介紹剪刀式測試,因為這似乎是您想要的。 為了將圖形輸出限制在矩形區域,剪刀測試很容易使用:

首先,啟用剪刀測試:

glEnable(GL_SCISSOR_TEST);

然后,指定限制區域(坐標以像素為單位):

void glScissor​(GLint x​, GLint y​, GLsizei width​, GLsizei height​);

可以在OpenGL Wiki中找到更多詳細信息。

暫無
暫無

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

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