Ответ: создание 3Д движка на j2me
Свет у меня будет направленый т.к. это легче. Вот только не пойму как цвет делать темнее или светлее, если он хранится в одном int.
|
Ответ: создание 3Д движка на j2me
Вложений: 1
Кусок главы "Основы моделирования освещения и поверхностей тел" книги Ламота:
|
Ответ: создание 3Д движка на j2me
Там расказывается как работать с цветом когда он задан тремя int. А когда он задан одним числом как его сделать темнее?
|
Ответ: создание 3Д движка на j2me
:wallbash:
Код:
public class Color { |
Ответ: создание 3Д движка на j2me
Не пойму зачем в short конвертировать? Пусть бы int возращало. Хотя так памяти меньше берёт.
Кстати, ты тоже 3д движок делаеш? Можеш объяснить почему некоторые движки медленные, а некоторые быстрые? Вроде все алгоритмы не засекречены и каждый может использовать лучший алгоритм, но нет, некоторые игры летают, а некоторые несмотря на свою простоту тормазят. |
Ответ: создание 3Д движка на j2me
Можеш формулу написать как перемножать матрици 4*4. А то у меня какая-то фигня получается.
|
Ответ: создание 3Д движка на j2me
Вложений: 1
матрицЫ 4х4 перемножаются так:
|
Ответ: создание 3Д движка на j2me
Вложений: 1
Вот так выглядит цикл умножения:
|
Ответ: создание 3Д движка на j2me
Я не пойму. Есть у меня матрица matrix и matrixTemp. matrix я задаю z-позицию = 600. А matrixTemp задаю Х угол 5. Потом matrix умножаю на matrixTemp и matrix поворачивается, НО почему-то позиция становится = 0. По-моему этого не должно быть. Или должно?
|
Ответ: создание 3Д движка на j2me
Цитата:
Цитата:
Код:
public static Matrix4x4 operator *(Matrix4x4 left, Matrix4x4 right) На сколько мне известно, разработчики Java сочли не нужной перегрузку операторов. Такчто придётся тебе попарится с переводом :( |
Ответ: создание 3Д движка на j2me
Вот http://upwap.ru/455066 сделал свет и матрицу. Но в матрице, в методе mul навернае какая-то ошибка т.к. модель постеменно сжимается. Можете проверить мою матрицу.
|
Ответ: создание 3Д движка на j2me
>Вот http://upwap.ru/455066
Где jar? >( А что это у тебя за арифметика странная?? Почему везде int?? |
Ответ: создание 3Д движка на j2me
jar в папке dist. Арифметика не странная, а с фиксированной точкой. Операции с float в раз 5 медленее.
И изменяется длинна вектора из-за моего фиксед поинт :-( . А float использовать - фпс сильно понизится. В матрице маскота тоже везде fixed point, и в матрице. И длинна векторов там почти не меняется. Как вориант можно нормализировать длинну векторов, но это долго из-за корня. И это не выход т.к. нельзя будет масштабировать вектор. А в маскоте я вручную(умноженйем и делением) менял длинну вектора и она потом такой и оставалась т.е. не нормализировалась. |
Ответ: создание 3Д движка на j2me
Я уже и float сделал, но всё равно модель постепенно сжимается. Может у меня не правельно умножаются матрицы?
|
Ответ: создание 3Д движка на j2me
Нашол ошибку. Не надо было изменения сразу же записывать.
Но теперь не пойму почему при умножении на матрицу переноса моя матрица не переносится. Вот http://upwap.ru/455417 посмотрите почему не работает матрица переноса. |
Часовой пояс GMT +4, время: 08:05. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot