「的glTranslatef」是無效的C99 如果我建立&來看,我有「EXC_BAD_ACCESS」 我怎麼能解決這個問題呢?不能使用的glTranslatef iPhone
1
A
回答
3
看起來你 你還沒有導入所需的標題。你需要的,如果你想開發的OpenGL ES 1.0應用程序包含以下標題:
#import <OpenGLES/EAGL.h>
#import <QuartzCore/QuartzCore.h>
#import <OpenGLES/ES1/gl.h>
#import <OpenGLES/ES1/glext.h>
不要忘了添加框架:OpenGLES.framework
和QuartzCore.framework
。
編輯:
在OpenGL ES 2.0的你不有任何在1.0如glTranslatef
,glRotatef
,glFustrum
和許多可用的矩陣運算。要自己實現它們並不容易,但如果您需要可編程管道,則這是您需要支付的代價。簡而言之,您需要編寫自己的函數來表示和操作4x4矩陣:將它們相乘,乘以矢量,創建旋轉,平移和縮放矩陣,還需要創建像fustrum這樣的投影矩陣。之後,您需要在頂點着色器中聲明制服以通過projection
和modelview
矩陣。然後,你需要將它們相乘以應用變換,並投射到一個頂點:
// Simple vertex shader
uniform mat4 projection;
uniform mat4 modelview;
attribute vec3 position;
void main(){
gl_Position = projection * modelview * vec4(position, 1.0);
}
有一個偉大的書,將教你如何使用ES1和ES2在iPhone上 - iPhone 3d Programming。如果您沒有時間,請堅持使用ES1。沒關係,如果你不需要可編程管道。但在我看來這值得學習。
相關問題
- 1. glTranslatef不起作用
- 2. Delta zeta不適用gltranslatef
- 3. glTranslatef問題
- 4. Normalized glTranslatef()
- 5. glTranslatef在glBegin中不起作用glEnd
- 6. opengl glTranslatef()概念
- 7. 爲什麼glTranslatef?
- 8. OpenGL glTranslatef和glScalef
- 9. opengl glTranslatef()不能在我的代碼中獲得多個
- 10. 如果我使用glTranslatex代替glTranslatef,我什麼都看不到!
- 11. 使用glBufferSubData使用不推薦的glTranslatef或更新座標是否更好?
- 12. 屏幕左側glTranslatef
- 13. OPENGL ES glTranslatef問題
- 14. iphone使用的功能
- 15. JOGL-2.0-預20100528 - MacOSX的萬能無法將文件的glTranslatef
- 16. 限制列表iPhone應用程序不能使用iPhone資源
- 17. glTranslatef等效沒有它
- 18. iPhone - 不能振動iPhone
- 19. 你能用原生iPhone開發什麼,你不能使用phoneGap?
- 20. iphone使用以下功能
- 21. Android OpenGL ES - 直接使用glTranslatef或更新頂點
- 22. 有沒有辦法在OpenGL中移動對象而不使用glTranslatef?
- 23. 我不能在iPhone上使用破折號在iphone上使用libxml2
- 24. glRotatef和glTranslatef後的opengl es位置
- 25. 的glTranslatef和鼠標點擊 - gluUnProject
- 26. 如何撤消glTranslatef的效果
- 27. 視頻可以在iPhone上使用,但不能使用iPad
- 28. 不能在我的iPhone應用程序
- 29. Javascript不能在IPhone
- 30. 使用未公開的iPhone SDK功能?
我盡你所能,但沒有成功。 – SevenDays
也許你正在嘗試使用ES2?在OpenGL ES 2.0中,您沒有模型視圖矩陣操作。 – Johnnywho
是的,我使用它。我如何才能在ES2上使用「glTranslatef」? – SevenDays