0
我試圖擺放紋理的特定部分(應用於由2D-頂點定義的四邊形)。我正在使用固定渲染管線。將opengl相機放在特定的紋理元素上
起始和結束位置被給定爲在紋理像素的位置: (例如啓動:30,12;端:340220) 有一種方法,以在指定的紋理像素的照相機的位置?或者我從錯誤的角度來處理這個問題?
我試圖擺放紋理的特定部分(應用於由2D-頂點定義的四邊形)。我正在使用固定渲染管線。將opengl相機放在特定的紋理元素上
起始和結束位置被給定爲在紋理像素的位置: (例如啓動:30,12;端:340220) 有一種方法,以在指定的紋理像素的照相機的位置?或者我從錯誤的角度來處理這個問題?
您需要自己計算位置,OpenGL無法爲您做到這一點。您需要將位置從紋理的圖像空間(像素)轉換爲紋理座標(紋理像素),然後轉換到世界空間。爲了有點挑剔,你不希望將相機放在紋理元素上,而是在紋理元素被渲染的位置上,因爲紋理元素與相機位於不同的座標系中。
就像一個想法,而不是在GL_MODELVIEW模式下移動相機,您也可以在GL_TEXTURE模式下移動紋理。
你提出一個有效的觀點,我想要的是像素將在四邊形上呈現的位置。 我必須做這樣的事情: '胡= quadWidth/textureWidthInPx' 'VU = quadHeight/textureHeightInPx' 'worldCoordX = pixelValX * hu' 'worldCoordY = pixelValY * vu' – mish
沒錯。我認爲這是匈牙利符號實際上有用的少數情況之一,以跟蹤座標系統。 'wcsWidthFromPx = wcsQuadWidth/pxTextureWidth; wcsPixelPosX = wcsWidthFromPx * pxPixelPosX;' –