GLSL ссылка информация войти на китайском - PullRequest
0 голосов
/ 24 марта 2011

Я тестировал glsl, а шейдер делал не то, что хотел.У меня есть этот кусок кода для получения журналов (я использую JOGL).

gl.glGetShaderInfoLog(vertexShader, INFO_LOG_SIZE, charsWritten, bb);

Я получаю строку изнутри "bb" и нахожу изумительные знаки вопроса.Я отлаживаю, и затем я нахожу это Chinese PWNING me

В моем бесконечном знании китайского языка мне говорит:Клык

Как вы видите, это очень полезно для меня: D

Могу ли я изменить язык журнала ... или что-то?

Спасибо!

Ответы [ 2 ]

1 голос
/ 24 марта 2011

Похоже, вы интерпретируете некоторые случайные двоичные данные в виде строки;Windows внутренне использует широкие символы (то есть 16-битные символы), поэтому любые данные, отличные от нуля в старшем байте, в конечном итоге будут отображать какой-то азиатский скрипт.first) ByteBuffer Java asCharBuffer интерпретирует данные в буфере как строку широких символов (т.е. два байта на символ), тогда как OpenGL вернет вам один байт на строку символов.Я не волшебник Java, поэтому я, вероятно, произвел бы много кодированного сморгасброда, если бы попытался найти решение здесь.Вам нужно найти функцию, которая правильно преобразует 8-битную строку символов в Java CharBuffer или вручную добавляет каждый возвращаемый байт нулевым байтом.

0 голосов
/ 24 марта 2011

Вывод журнала не производится OpenGL, он производится самим шейдером.Я предполагаю, что вы не написали шейдер, поэтому тот, кто написал сообщения журнала на китайском языке.

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

В любом случае, проблема в шейдере, а не в некоторых настройках с OpenGL.

...