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

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

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

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

Свет у меня будет направленый т.к. это легче. Вот только не пойму как цвет делать темнее или светлее, если он хранится в одном int.
(Offline)
 
Ответить с цитированием
Старый 13.06.2009, 13:49   #62
-=Jack=-
ПроЭктировщик
 
Аватар для -=Jack=-
 
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений
(для 44 пользователей)
Сообщение Ответ: создание 3Д движка на j2me

Кусок главы "Основы моделирования освещения и поверхностей тел" книги Ламота:
Вложения
Тип файла: doc Цветовые модели и материалы.doc (53.5 Кб, 406 просмотров)
__________________
Я бы изменил мир, но Бог не даёт исходников...
(Offline)
 
Ответить с цитированием
Старый 13.06.2009, 15:51   #63
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Там расказывается как работать с цветом когда он задан тремя int. А когда он задан одним числом как его сделать темнее?
(Offline)
 
Ответить с цитированием
Старый 13.06.2009, 16:53   #64
-=Jack=-
ПроЭктировщик
 
Аватар для -=Jack=-
 
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений
(для 44 пользователей)
Восклицание Ответ: создание 3Д движка на j2me



public class Color {
    public int value;
    public Color(){
        value = 0;
    }
    public Color(int value){
        this.value = value;
    }
    public Color(int r, int g, int b, int a){
        value=a;
        value<<=8;
        value|=r;
        value<<=8;
        value|=g;
        value<<=8;
        value|=b;

    }
    public short getR(){
        return (short)((value>>16)&255);
    }
    public short getG(){
        return (short)((value>>8)&255);
    }
    public short getB(){
        return (short)((value)&255);
    }
    public short getA(){
        return (short)((value>>24)&255);
    }
}
__________________
Я бы изменил мир, но Бог не даёт исходников...
(Offline)
 
Ответить с цитированием
Старый 13.06.2009, 22:02   #65
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Не пойму зачем в short конвертировать? Пусть бы int возращало. Хотя так памяти меньше берёт.
Кстати, ты тоже 3д движок делаеш?
Можеш объяснить почему некоторые движки медленные, а некоторые быстрые? Вроде все алгоритмы не засекречены и каждый может использовать лучший алгоритм, но нет, некоторые игры летают, а некоторые несмотря на свою простоту тормазят.
(Offline)
 
Ответить с цитированием
Старый 14.06.2009, 11:56   #66
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Можеш формулу написать как перемножать матрици 4*4. А то у меня какая-то фигня получается.
(Offline)
 
Ответить с цитированием
Старый 14.06.2009, 12:56   #67
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 03.09.2005
Сообщений: 14,014
Написано 6,795 полезных сообщений
(для 20,917 пользователей)
Ответ: создание 3Д движка на j2me

матрицЫ 4х4 перемножаются так:
Миниатюры
Нажмите на изображение для увеличения
Название: мумнож.jpg
Просмотров: 265
Размер:	28.0 Кб
ID:	6247  
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 14.06.2009, 13:06   #68
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 03.09.2005
Сообщений: 14,014
Написано 6,795 полезных сообщений
(для 20,917 пользователей)
Ответ: создание 3Д движка на j2me

Вот так выглядит цикл умножения:
Миниатюры
Нажмите на изображение для увеличения
Название: мумнож2.jpg
Просмотров: 302
Размер:	17.2 Кб
ID:	6248  
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 14.06.2009, 14:02   #69
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Я не пойму. Есть у меня матрица matrix и matrixTemp. matrix я задаю z-позицию = 600. А matrixTemp задаю Х угол 5. Потом matrix умножаю на matrixTemp и matrix поворачивается, НО почему-то позиция становится = 0. По-моему этого не должно быть. Или должно?
(Offline)
 
Ответить с цитированием
Старый 14.06.2009, 14:18   #70
-=Jack=-
ПроЭктировщик
 
Аватар для -=Jack=-
 
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений
(для 44 пользователей)
Ответ: создание 3Д движка на j2me

Сообщение от WISHMASTER35 Посмотреть сообщение
Не пойму зачем в short конвертировать? Пусть бы int возращало. Хотя так памяти меньше берёт.
Кстати, ты тоже 3д движок делаеш?
Можеш объяснить почему некоторые движки медленные, а некоторые быстрые? Вроде все алгоритмы не засекречены и каждый может использовать лучший алгоритм, но нет, некоторые игры летают, а некоторые несмотря на свою простоту тормазят.
Зависит от прямоты рук разработчика.

Сообщение от WISHMASTER35 Посмотреть сообщение
Можеш формулу написать как перемножать матрици 4*4. А то у меня какая-то фигня получается.
public static Matrix4x4 operator *(Matrix4x4 left, Matrix4x4 right)
        {
            Matrix4x4 t = new Matrix4x4();

            for (int i = 1; i <= 4; i++)
                for (int j = 1; j <= 4; j++)
                {
                    float r = 0;
                    for (int p = 1; p <= 4; p++)
                        r += left[i, p] * right[p, j];
                    t[i, j] = r;
                }

            return t;
        }
На Java переводи сам... left и right - умножаемые матрицы, t - результат. Тут у класса матрицы есть двумерный индексатор, потому можно получить доступ к элементам как к двумерному массиву(например t[i, j]).
На сколько мне известно, разработчики Java сочли не нужной перегрузку операторов. Такчто придётся тебе попарится с переводом
__________________
Я бы изменил мир, но Бог не даёт исходников...
(Offline)
 
Ответить с цитированием
Старый 14.06.2009, 14:39   #71
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Вот http://upwap.ru/455066 сделал свет и матрицу. Но в матрице, в методе mul навернае какая-то ошибка т.к. модель постеменно сжимается. Можете проверить мою матрицу.
(Offline)
 
Ответить с цитированием
Старый 14.06.2009, 17:04   #72
-=Jack=-
ПроЭктировщик
 
Аватар для -=Jack=-
 
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений
(для 44 пользователей)
Ответ: создание 3Д движка на j2me

>Вот http://upwap.ru/455066
Где jar? >(

А что это у тебя за арифметика странная?? Почему везде int??
__________________
Я бы изменил мир, но Бог не даёт исходников...
(Offline)
 
Ответить с цитированием
Старый 14.06.2009, 17:21   #73
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

jar в папке dist. Арифметика не странная, а с фиксированной точкой. Операции с float в раз 5 медленее.
И изменяется длинна вектора из-за моего фиксед поинт :-( . А float использовать - фпс сильно понизится. В матрице маскота тоже везде fixed point, и в матрице. И длинна векторов там почти не меняется.
Как вориант можно нормализировать длинну векторов, но это долго из-за корня. И это не выход т.к. нельзя будет масштабировать вектор. А в маскоте я вручную(умноженйем и делением) менял длинну вектора и она потом такой и оставалась т.е. не нормализировалась.
(Offline)
 
Ответить с цитированием
Старый 14.06.2009, 18:28   #74
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Я уже и float сделал, но всё равно модель постепенно сжимается. Может у меня не правельно умножаются матрицы?
(Offline)
 
Ответить с цитированием
Старый 14.06.2009, 20:03   #75
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: создание 3Д движка на j2me

Нашол ошибку. Не надо было изменения сразу же записывать.
Но теперь не пойму почему при умножении на матрицу переноса моя матрица не переносится. Вот http://upwap.ru/455417 посмотрите почему не работает матрица переноса.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

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


Часовой пояс GMT +1, время: 09:49.


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