Проблема с getJSON или PHP

Display.php :

<?php
include 'sql.php';
$dataget = mysql_query("SELECT `user`,`message`,`timestamp` FROM `messages`");
$arr = array();
while ($dataarr = mysql_fetch_assoc($dataget)){
    $arr[] = $dataarr;
}
echo json_encode($arr);
?>

Index.php :

<script type="text/javascript" src="../jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $.getJSON('display.php', function(data) {
            alert(data.0.user);
        });
    });
</script>

Попытка предупреждения data.0.user .

-121--854389- Фреймбуфер OpenGL: может очистить его, но не может привлечь к нему На Mac, у меня есть настройка OpenGL, которая работает просто отлично, кроме фреймбуферов - текстурирование работает и т.д. Так что я знаю, что текстурирование включено, у меня есть действительный контекст и т.д. Все работает безупречно...

На Mac у меня есть настройка OpenGL, которая работает просто отлично, кроме фреймбуферов - работы по текстурированию и т.д. Так что я знаю, что текстурирование включено, у меня есть действительный контекст и т.д. Все работает безупречно, пока я не пытаюсь создать буфер кадров.

Я создал framebuffer с glGenFramebuffers, glBindFramebuffer и glFramebufferTexture2D, и glStartFramebufferStatus возвращает GL_FRAMEBUFFER_COMPLETE. Если затем вызвать glClear с последующим вызовом glGetTexImage, возвращенные данные покажут, что glClear действовала на текстуру, связанную с framebuffer так же, как и должна. Я могу установить glClearColor в любое значение, которое я хочу, и glClear правильно устанавливает данные текстуры.

Но на этом хорошие новости останавливаются. Я не могу ничего добавить в буфер кадров, независимо от того, использую ли я VBO или glBegin/glEnd. Данные текстуры, связанные с буфером кадров, не затрагиваются вызовами рисования (хотя результаты glClear по-прежнему отображаются). Это все верно, даже если я вызываю glFlush и glFinish перед вызовом glGetTexImage. Кроме того, функция glGetError не возвращает ни одного из моих вызовов.

Я разместил ниже какой-то образец кода, который я добавил в соответствующей точке программы, просто чтобы попытаться работать над этим вопросом, в случае, если это даст кому-либо идею. (Это не включает вызов glClear, но из отдельного тестирования в тот же пункт я знаю, что это работает нормально).

    glGenFramebuffers(1, &fb);
glBindFramebuffer(GL_FRAMEBUFFER, fb);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, fbTexID, 0);
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); 
if(status != GL_FRAMEBUFFER_COMPLETE)
    Debugger(); 

glEnable(GL_TEXTURE_2D); 
glCullFace(GL_NONE); 
glGenTextures(1,(GLuint*)&tex); 
glBindTexture(GL_TEXTURE_2D,tex); 
glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,1024,1024,0,GL_RGBA,GL_UNSIGNED_BYTE,NULL); 
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_LINEAR );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 1024, 1024, 0, -5000, 5000); 
glMatrixMode(GL_MODELVIEW);
glLoadIdentity(); 
glViewport(0, 0, 1024, 1024); 
glColor4f(1,1,1,1); 
glBegin(GL_TRIANGLES);
    glTexCoord2f(0, 0);
    glVertex2f(0, 0);
    glTexCoord2f(1, 0);
    glVertex2f(1024, 0);
    glTexCoord2f(0, 1);
    glVertex2f(0, 1024);
glEnd();
glFlush();
glFinish(); 
unsigned char *dd = new unsigned char[1024*1024*4]; 
glBindTexture(GL_TEXTURE_2D, fbTexID); //I've tried calling glBindFramebuffer(GL_FRAMEBUFFER,0) before this bind - makes no difference
glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, dd);
delete dd; 
6
задан genpfault 19 November 2012 в 22:44
поделиться