Я только что получил новый компьютер, и теперь мне придется запустить мою демонстрационную программу с SDL2/OpenGL. Я использовал программу, чтобы попробовать различные методы и использовал Glulookat (который, очевидно, не должен использоваться больше или даже никогда не должен был использоваться). < /P>
Теперь я M Ищу способ заменить метод Glulookat, построив матрицу преобразования, выполняя то же самое, что и Glulookat. Я наткнулся на это утверждение, которое является полезной заменой Glulookat (ответ - не вопрос). < /P>
Моя реализация его выглядит так (я предполагаю, что J ^ k < / Код> означает кросс -продукт j и k - исправить меня, если я ошибаюсь): < /p>
//Compat method: gluLookAt deprecated
void util_compat_gluLookAt(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat lookAtX, GLfloat lookAtY, GLfloat lookAtZ, GLfloat upX, GLfloat upY, GLfloat upZ) {
Vector3f up (upX, upY, upZ);
Vector3f lookAt (-lookAtX, -lookAtY, -lookAtZ);
Vector3f eye (eyeX, eyeY, eyeZ);
Vector3f i = up ^ lookAt;
Matrix4x4 mat (new GLfloat[16]
{i.getX(), upX, lookAt.getX(), 0,
i.getY(), upY, lookAt.getY(), 0,
i.getZ(), upZ, lookAt.getZ(), 0,
0, 0, 0, 1});
Vector3f translate = mat * (Vector3f()-eye); // Not yet correctly implemented: Negative of vector eye ([0,0,0]-[eyeX,eyeY,eyeZ])
mat.setItem(3,0,translate.getX());
mat.setItem(3,1,translate.getX());
mat.setItem(3,2,translate.getX());
glMultMatrixf(mat.transpose().getComponents());
}
< /code>
Кто сделал неправильные вещи - мой источник информации или я? И как я могу это исправить?
Примечание: я не буду использовать это в своем реальном проекте, но мне все еще нужно для моей демонстрационной программы, которая также будет рассмотрена для оценки. < /P>
Подробнее здесь: https://stackoverflow.com/questions/244 ... -glulookat
Функция совместимости для Glulookat ⇐ C++
Программы на C++. Форум разработчиков
1738685328
Anonymous
Я только что получил новый компьютер, и теперь мне придется запустить мою демонстрационную программу с SDL2/OpenGL. Я использовал программу, чтобы попробовать различные методы и использовал Glulookat (который, очевидно, не должен использоваться больше или даже никогда не должен был использоваться). < /P>
Теперь я M Ищу способ заменить метод Glulookat, построив матрицу преобразования, выполняя то же самое, что и Glulookat. Я наткнулся на это утверждение, которое является полезной заменой Glulookat (ответ - не вопрос). < /P>
Моя реализация его выглядит так (я предполагаю, что J ^ k < / Код> означает кросс -продукт j и k - исправить меня, если я ошибаюсь): < /p>
//Compat method: gluLookAt deprecated
void util_compat_gluLookAt(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat lookAtX, GLfloat lookAtY, GLfloat lookAtZ, GLfloat upX, GLfloat upY, GLfloat upZ) {
Vector3f up (upX, upY, upZ);
Vector3f lookAt (-lookAtX, -lookAtY, -lookAtZ);
Vector3f eye (eyeX, eyeY, eyeZ);
Vector3f i = up ^ lookAt;
Matrix4x4 mat (new GLfloat[16]
{i.getX(), upX, lookAt.getX(), 0,
i.getY(), upY, lookAt.getY(), 0,
i.getZ(), upZ, lookAt.getZ(), 0,
0, 0, 0, 1});
Vector3f translate = mat * (Vector3f()-eye); // Not yet correctly implemented: Negative of vector eye ([0,0,0]-[eyeX,eyeY,eyeZ])
mat.setItem(3,0,translate.getX());
mat.setItem(3,1,translate.getX());
mat.setItem(3,2,translate.getX());
glMultMatrixf(mat.transpose().getComponents());
}
< /code>
Кто сделал неправильные вещи - мой источник информации или я? И как я могу это исправить?
Примечание: я не буду использовать это в своем реальном проекте, но мне все еще нужно для моей демонстрационной программы, которая также будет рассмотрена для оценки. < /P>
Подробнее здесь: [url]https://stackoverflow.com/questions/24492274/compatibility-function-for-glulookat[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия