2012-04-09 80 views
0

我目前擁有的東西:給定直角座標的寬度和高度以及紋理的比例因子,生成紋理座標。這是沃金精:GopenGL將紋理座標與世界對齊,而不是面對

vertices = new float[] { 
        0,   0,    0, this.height/(this.texture.height * this.texScaleHeight), 
        this.width, 0,    this.width/(this.texture.width * this.texScaleWidth), height/(this.texture.height * this.texScaleHeight), 
        this.width, this.height, this.width/(this.texture.width * this.texScaleWidth), 0, 
        0,   this.height, 0, 0 }; 

我想現在要做的,就是一些與矩形不同的位置有紋理的無縫畢業(即相鄰)。我嘗試了以下但沒有好的結果。

vertices = new float[] { 
        0,   0,    -this.getPosition().x * this.texScaleWidth, this.height/(this.texture.height * this.texScaleHeight) -this.getPosition().y * this.texScaleHeight, 
        this.width, 0,    this.width/(this.texture.width * this.texScaleWidth) -this.getPosition().x * this.texScaleWidth, height/(this.texture.height * this.texScaleHeight)-this.getPosition().y * this.texScaleHeight, 
        this.width, this.height, this.width/(this.texture.width * this.texScaleWidth) -this.getPosition().x * this.texScaleWidth, -this.getPosition().y * this.texScaleHeight, 
        0,   this.height, -this.getPosition().x * this.texScaleWidth, -this.getPosition().y * this.texScaleHeight }; 

我怎樣才能實現紋理是「對齊到世界」,而不是他們坐的矩形?

回答

0

這種技術可能是的方式太籠統了,但是這裏說的是:您可以將紋理座標投影到幾何圖形上。

整體工作流程與處理幾何本身一樣,但在這裏,所有世界點都被分配了紋理座標。通過另一個MVP矩陣(表示投影儀)推動幾何圖形中的每個點,並將該結果作爲該點的紋理座標(假設爲正交投影)。之後需要用w進行劃分。

我希望你明白。搜索它,我沒有找到一個像樣的描述或教程。 陰影貼圖使用相同的技術,但其目標是確定一個點是否有陰影;在這裏,目標是爲普通投影儀找到紋理座標。

相關問題