簡體   English   中英

使用OpenGL和LWJGL無縫紋理圓柱體

[英]Seamlessly texture a cylinder with OpenGL and LWJGL

我正在創建一個程序化城市,其中包含隨機生成的建築物和紋理。 我正確地生成了類似圓柱體的建築物,並為窗口生成了程序紋理圖案,但是當我將紋理映射到圓柱體上時,並沒有得出我認為的樣子。

在此處輸入圖片說明

圖為我的三個問題。 首先,我的圓柱體代碼將隨機跳過90度,以從圓柱體中創建看起來不錯的切片,並且當其中兩個發生時,第二個切片具有您在此處看到的拉伸紋理。 第一塊看起來非常好。 那是圖像上的2號。

第二個問題(編號為1)是由於某種原因,它似乎占據了紋理的很大一部分,並將其映射到圓柱體末端的一小片上,並且每次都會發生。

第三個問題稍微難於注意到,盡管最容易在數字1上看到,如果您看一下頂部,則其紋理比底部的要寬得多,我也不知道為什么。

這是我用於創建和構造圓柱體的源代碼: http : //pastebin.com/hgMhqScg

以下是生成紋理的代碼以及存儲和渲染實際頂點的代碼: http : //pastebin.com/cUuEBmTr http://pastebin.com/GrytFsf1

原來#1的問題在這里:

 if(i < v2UVA.length-1)

切換到

 if(i < v2UVA.length)

這個問題就解決了。 不知道為什么會發生拉伸,但是我只是將最大剪切限制為1,所以效果很好。

暫無
暫無

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

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