2012-12-18 94 views

回答

3

在某種程度上,您可以使用透視攝像機作爲正視攝像機(設置位置,查看,向上)。最大的不同之處在於,視口大小(屏幕上顯示的大小)取決於到物體的距離和視場角。有很多各地的網絡理論,但得到的libgdx開始,你可以按照這個example

編輯:提供 示例使用GL 1.x的我還以爲你只是不知道如何使用透視相機。你混淆了兩個不同的問題。

  1. 如何操作相機(帶攝像頭型,無論GL版本而異),
  2. 如何申請相機(與GL版本的不同而不同,無論相機類型)。

要完成我的答案,一旦你更新你的相機(cam.update)insted的調用camera.apply(Gdx.gl10);你給的矩陣着色器 - 這將取決於你的着色器,但最簡單的情況是這樣的:

shader.setUniformMatrix("u_modelviewporj_mat", cam.combined); 
+0

如何在'render'方法中使用它?在'resize'方法中,我初始化它如下:float aspectRatio =(float)width /(float)height; camera =新的PerspectiveCamera(67,2f * aspectRatio,2f);然後我在渲染方法中旋轉,翻譯等。我怎樣才能申請它?它需要GL10,但我需要GL20。它沒有任何影響 – Nolesh

+1

要在OpenGL20中應用它,你必須更新它 - cam.update(),然後將它傳遞給着色器(就像正射相機一樣)。模型視圖投影矩陣將是cam.combined –

+0

如果您不知道如何在GLES 2.0中使用Ortho相機,可能應該編輯您的問題並詢問如何在GLES 2.0中使用相機,因爲沒有區別在使用GLES 2.0中的正射或透視相機之間。 –