Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты на JavaME

Ответ
 
Опции темы
Старый 19.07.2009, 21:45   #166
-=Jack=-
ПроЭктировщик
 
Аватар для -=Jack=-
 
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений
(для 44 пользователей)
Ответ: создание 3Д движка на j2me

Да..
__________________
Я бы изменил мир, но Бог не даёт исходников...
(Offline)
 
Ответить с цитированием
Старый 26.07.2009, 17:29   #167
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Что-то я так и не понял как работают entity.
Допустим, есть один меш и два ентити. Поворачиваем меш по первой матрице и робавляем его полигоны в массив. Потом поворачиваем тот же меш по второй матрице и добавляем теже полигоны в массив. И получается, что в массиве содержится по два каждых полигона повёрнутых по второй матрице. И получится, что два меша нарисуются не в разных местах, а в одном.
Видно в моёш движке это не реализовать.
Кстате, почему надо, чтобы текстуры были или 64*64, или 128*128, или 256*256?
(Offline)
 
Ответить с цитированием
Старый 27.07.2009, 20:48   #168
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

-=Jack=-, ты ж понимаеш в opengl ? Можеш мне разьяснить кое-что?
Я смотрю пример opengl и не понимаю почему координаты вершин, текстурные и другие задаются в пределах от 0 до 1?
Я перенёс свой движок на javaSE и теперь хочю добавить в него текстурирование с помощью openGL.
Мне надо сделать рисование текстурированного полигона по его реальным координатам на экране и uv координатам в текстуре.
А эти координаты не от 0 до 1.
(Offline)
 
Ответить с цитированием
Старый 27.07.2009, 21:02   #169
jimon
 
Сообщений: n/a
Ответ: создание 3Д движка на j2me

WISHMASTER35
думаю всё дело в представлении float числа, от 0 до 1 в нём хранится больше чисел чем на всём остальном промежутке

хитрость с entity и mesh простая
mesh это набор вершин у которых координаты заданы в локальной системе модели (относительно её центра)
а entity это просто матрица которая трансформирует этот центр

ты не должен при изменении матрицы изменять координаты которые хранятся в меше
просто при каждом кадре рисования ты должен заного умножать все вершины меша на матрицу entity и получать глобальные координаты вершин
и вот уже их рисовать, а не сохранять в масив
 
Ответить с цитированием
Старый 27.07.2009, 21:58   #170
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Я понимаю, что в float можно много чисел засунуть, но я не пойму вот чего:
В моём движке что бы нарисовать полигон с координатами х50 и у50 я его и рисую с этими координатами. А когда координаты задаются float, то как мне нарисовать полигон в координатах х50 и у50?
(Offline)
 
Ответить с цитированием
Старый 27.07.2009, 22:33   #171
jimon
 
Сообщений: n/a
Ответ: создание 3Д движка на j2me

WISHMASTER35
всё зависит от матрицы проекции, расположения камеры и формы полигона
такая задача называется рисование тексель в пиксель
если задать ортографическую проекцию с размерами в viewport, камеру в 0,1,0 смотрящую в 0,0,0, то можно рисовать тексель в пиксель в плоскости XZ, тогда у тебя координаты будут 40.0f,0,40.0f и это превратится в 40,40 на экране

так что не всё так просто как тебе кажется
 
Ответить с цитированием
Старый 27.07.2009, 23:39   #172
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Я хочю для полигона задовать координаты вершин только двумя координатами: Х и Y т.е. gl.glVertex2f(x, y); думаю в током случае матрица, форма полигона и камера не на что не повлияют.
Так каким методом сделать, чтобы при gl.glVertex2f(50, 50); и на экране были эти х50 и у50 ?
Нету ли примера такого текстурирования или просто рисования полигона? Желательно для jogl.
(Offline)
 
Ответить с цитированием
Старый 28.07.2009, 00:26   #173
jimon
 
Сообщений: n/a
Ответ: создание 3Д движка на j2me

WISHMASTER35
а ты не думал что glVertex2f(x,y) это тоже самое что glVertex3f(x,y,0) ?
в любом случае прийдется настраивать ортографическую матрицу проекции и правильно ставить камеру
 
Ответить с цитированием
Старый 28.07.2009, 11:29   #174
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Не пойму зачем писать glVertex3f(x,y,0), если можно glVertex2f(x,y).
Можеш написать как повернуть матрицу и камеру в нужную мне плоскость.
Хотя не понимаю как на это влияет поворот камеры вниз.
Может лучше будет разделить мои координаты на какое-то число, чтобы они тоже стали от 0 до 1?
(Offline)
 
Ответить с цитированием
Старый 28.07.2009, 13:41   #175
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Нашол один урок http://pmg.org.ru/nehe/nehe17.htm
Там рисуется именно так как мне и нужно.
Вот нужный мне метод glVerter2i(int x, int y); а я раньше думал, что значит f, а это оказывается был тип. Мне надо не f, a i.
Надеюсь я правельно понял.
(Offline)
 
Ответить с цитированием
Старый 28.07.2009, 15:02   #176
jimon
 
Сообщений: n/a
Ответ: создание 3Д движка на j2me

WISHMASTER35
glVertex2f и glVerter2i отличаются только какие типы параметров они принимают, для рендера никакого отличия

в 17 примере nehe тоже идет работа с матрицами, не знаю чем ты смотришь
glMatrixMode(GL_PROJECTION); // Выбираем матрицу проекции
glPushMatrix(); // Сохраняем матрицу проекции
glLoadIdentity(); // Сбрасываем матрицу проекции
glOrtho(0,640,0,480,-1,1); // Устанавливаем плоский экран
...
glMatrixMode(GL_MODELVIEW); // Выбираем матрицу модели просмотра
glPushMatrix(); // Сохраняем матрицу модели просмотра
glLoadIdentity(); // Сбрасываем матрицу модели просмотра
glTranslated(x,y,0); // Позиция текста (0,0 - Нижняя левая)
как видишь - матрица проекции как я и говорил, матрица камеры - единичная, матрица модели - со смещением текста
просто в OpenGL матрицу камеры и матрицу модели обьеденили в одну, в прочем работу с матрицами вырезали из OpenGL 3.x
 
Ответить с цитированием
Старый 28.07.2009, 16:20   #177
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Теоретически я могу и своей матрицей также повернуть вершины и рисовать уже полигон с повёрнутой вершиной.
Если я так glVertex2f(1f, 1f); задам координаты, то на экране точка где будет?
Нету ли статьи где бы это объяснялось?
(Offline)
 
Ответить с цитированием
Старый 28.07.2009, 16:45   #178
jimon
 
Сообщений: n/a
Ответ: создание 3Д движка на j2me

WISHMASTER35
обьясняется оно тут
http://www.glprogramming.com/red/chapter03.html



1) glVertex2f(1f, 1f);
это вектор 1,1,0,1

2) множим вектор на ModelView матрицу
получаем вектор в системе координат камеры

3) множим вектор на Projection матрицу
получаем 4-мерный вектор x,y,z,w в гомогенной системе координат

4) делаем перспективное деление
получаем 3-мерный вектор в viewport координатах (от -1 до 1 по X,Y)

5) делаем viewport преобразования
получаем координаты пикселят в экранных координатах

так что если ты хочешь совместить 3д и 2д то сначала рисуй 3д в перспективной проекции
а потом 2д поверх в ортографической проекции
 
Ответить с цитированием
Старый 28.07.2009, 18:01   #179
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Короче ты мне предложил находить 2д проекции вершин для системы координат opengl(т.е. от -1 до 1), а не моей. Я уже тоже думал, что это будет проще всего.

Наткнулся на этот форум http://forum.vingrad.ru/act-ST/f-95/t-170504.html там написано, что можно просто установить перспективную проекцию.
(Offline)
 
Ответить с цитированием
Старый 28.07.2009, 18:14   #180
jimon
 
Сообщений: n/a
Ответ: создание 3Д движка на j2me

WISHMASTER35
ну можно рисовать и в перспективной в Near Plane
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выбор движка Aceton C++ 62 21.09.2012 22:38
UTF-8 и J2me Phantom JAVA Micro Edition 4 11.09.2009 04:19
Silent Hill Demo - Пример движка для квестов odd Проекты на MidletPascal 1 21.03.2009 15:39
Fugitive: тест движка. Diplomat Проекты на Blitz3D 34 10.04.2008 14:48
использование физического движка ODE BAK$$$ 3D-программирование 43 13.04.2007 23:55


Часовой пояс GMT +4, время: 01:25.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com