簡體   English   中英

iPhone上的OpenGL ES顏色選擇

[英]OpenGL ES color picking on the iPhone

我正在iPhone上查看3D,我已經設法在設備上獲得3D立方體但是想要添加交互性,例如觸摸一個面部發射特定事件而另一個面部發生不同事件。 我寧願避開光線拾取,因為這會增加我在應用中不需要的額外復雜性。

我已經閱讀了很多顏色選擇教程,但在網絡上的任何地方似乎都沒有任何特定於iPhone的教程或示例代碼。

我的主要問題是將獨特的彩色對象繪制到后緩沖區,將紋理對象繪制到前緩沖區,從不向用戶顯示唯一的彩色對象,但檢測從后緩沖區觸摸的像素的顏色。

所以我的問題是,任何人都可以指向Objective-C教程的方向或發布一些示例代碼嗎?

任何幫助或建議將不勝感激。

好的,所以18小時后我終於解決了我的問題。 在render方法中,我所要做的就是在渲染處於SELECT模式時阻止presentRenderbuffer調用。 我現在可以踢自己了!

if (mode == SELECT) {
    glDisable(GL_DITHER);
    glDisable(GL_LIGHTING);
    glDisable(GL_LIGHT0);
}

// Draws the cube object, face by face and adds unique color to each face
[Face1 draw];
[Face2 draw];
[Face3 draw];
[Face4 draw];
[Face5 draw];
[Face6 draw];

if (mode == SELECT) {
    glEnable(GL_DITHER);
    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);
}

// Wrapping presentRenderbuffer with this if statement fixed
// the problem where the unique colors would appear onscreen
if (mode == RENDER) {
    [context presentRenderbuffer:GL_RENDERBUFFER_OES];
}

我希望將來可以幫助別人:o)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM