2012-01-14 84 views
0

我想渲染由iPhone屏幕上的相機生成的紋理。 我下載了來自Brad Larson的顏色跟蹤示例http://www.sunsetlakesoftware.com/2010/10/22/gpu-accelerated-video-processing-mac-and-ios(示例代碼的直接鏈接:http://www.sunsetlakesoftware.com/sites/default/files/ColorTracking.zip)。iOS:關於在屏幕上渲染紋理的紋理座標混淆

在ColorTrackingViewController並條機的方法,他用下面的代碼來生成頂點和相應的紋理渲染紋理方座標:

static const GLfloat squareVertices[] = { 
    -1.0f, -1.0f, 
    1.0f, -1.0f, 
    -1.0f, 1.0f, 
    1.0f, 1.0f, 
}; 

static const GLfloat textureVertices[] = { 
    1.0f, 1.0f, 
    1.0f, 0.0f, 
    0.0f, 1.0f, 
    0.0f, 0.0f, 
}; 

我不明白爲什麼這些紋理座標正確工作。

在我看來,在另一個例子中的代碼,我已經看到了正確的作品也,他們應該是:

static const GLfloat textureVertices[] = { 
    0.0f, 1.0f, 
    1.0f, 1.0f, 
    0.0f, 0.0f, 
    1.0f, 0.0f, 
}; 

我經歷了整個代碼去了,但我想不出爲什麼上面的紋理座標工作正確。我錯過了什麼?

回答

1

我相信這是因爲來自iPhone相機的圖像數據始終呈現90 CCW旋轉。爲了抵消這種旋轉,他將紋理座標設置爲90 CCW。有時候兩個錯誤是正確的?