Модераторы: Rickert, Alexeis, BorisVorontsov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сцена и объекты на ней 
:(
    Опции темы
Rickert
Дата 18.10.2008, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Reptor
Значит так: делаешь пустой проект, в котором идёт только инициализация OpenGL и отображение. И реализовываешь в нём простой вариант кривой безье. Если хочешь, я могу прислать тебе уже готовый код с ныне платного gametutorials.com - покопаешься: там всё так писалось, чтобы исходник служил неким уроком в определённой области.
Кинуть или сам повозишься?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Reptor
Дата 18.10.2008, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Цитата

Кинуть или сам повозишься? 


Да скинь пожалуйста если можно. 

И сейчас ещё зделаю сам простой вариант кривой безье.
PM MAIL ICQ   Вверх
Reptor
Дата 18.10.2008, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Rickert, я сделал пустой проект в котором реализовал простой вариант кривой безье.

Вот код  и атач.

Код

struct BEZIE{
    float x;
    float y;
    float z;
};

................

BEZIE calc(float t, BEZIE p1, BEZIE p2, BEZIE p3){
    BEZIE p;
    
    float kof1 = pow((1-t),2);
    float kof2 = 2*t*(1-t)*t;
    float kof3 = pow(t,2);

    p.x = kof1*p1.x + kof2*p2.x + kof3*p3.x;
    p.y = kof1*p1.y + kof2*p2.y + kof3*p3.y;
    p.z = kof1*p1.z + kof2*p2.z + kof3*p3.z;
    

    return p;

}

int DrawGLScene(GLvoid)                                    
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);     
    glLoadIdentity();                        
    glTranslatef(0.0f,0.0f,-12.0f);

    glBegin(GL_LINE_STRIP);

    BEZIE p0;
    p0.x = -3.0f;
    p0.y = -5.0f;
    p0.z = -1.0f;


    BEZIE p1;
    p1.x = 0.0f;
    p1.y = 3.0f;
    p1.z = -1.0f;

    BEZIE p2;
    p2.x = 3.0f;
    p2.y = -4.0f;
    p2.z = -1.0f;

    for(float t=0.0; t<=1.0f; t+=0.05f){        
        BEZIE res = calc(t,p0,p1,p2);
        glVertex3f(res.x, res.y, res.z);            
    }


    glEnd();



    return TRUE;                                        // Everything Went OK
}


Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  ww.rar 12,92 Kb
PM MAIL ICQ   Вверх
Rickert
Дата 19.10.2008, 05:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Reptor, ну так правильно работает или нет?
В понедельник с рабочей машины сдёрну безье и вышлю.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Reptor
Дата 19.10.2008, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Цитата

Reptor, ну так правильно работает или нет?



Rickert, ну да, правильно работает.

Что ж у меня там напутано.... smile   буду смотреть..   
PM MAIL ICQ   Вверх
Reptor
Дата 19.10.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Rickert, в атаче то что получилоь... (правда с кривыми безье не до конца понял что получилось но пока пусть так будет).... Сделал текстуру... ну вроде не плохо..

Что дальше? Теперь надо как то дорогу положить на этот ландшафт?.. она сейчас телипается немного ниже и с самого краю + оня ещё какаято очень маленькая..


Rickert, знаеш что я не могу до конца себе представить... -  как всё это будет в конце... просто сейчас есть SkyBox, дорога, ландшафт и эти 3 компонента как то оторваны друг от друга...

Это сообщение отредактировал(а) Reptor - 19.10.2008, 11:42

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  p.rar 76,06 Kb
PM MAIL ICQ   Вверх
Rickert
Дата 19.10.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Цитата(Reptor @  19.10.2008,  09:29 Найти цитируемый пост)
Rickert, ну да, правильно работает.

Пойми, я не стану за тебя писать код smile
Это самое важное качество программиста - найти неисправность и починить, тренируйся - это не лёгкий путь smile

Цитата(Reptor @  19.10.2008,  11:37 Найти цитируемый пост)
Rickert, знаеш что я не могу до конца себе представить... -  как всё это будет в конце... просто сейчас есть SkyBox, дорога, ландшафт и эти 3 компонента как то оторваны друг от друга...

А какая целостность требуется? Нет, ну конечно ты можешь создать классы, разбить всё это дело по функциям, оптимизировать, но это долгая песня, который ты уже должен заниматься самостоятельно в течении пары недель.
Так, вот теперь поверхность вроде сглаженная, отлично.

Теперь что нам нужно? Чтобы ландшафт генерировался и состыковывался с дорогой? Попробуй сам придумать алгоритм или найти по поисковикам. Я тож пока подумаю что-нибудь.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Reptor
Дата 19.10.2008, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Цитата

А какая целостность требуется? Нет, ну конечно ты можешь создать классы, разбить всё это дело по функциям, оптимизировать....


Нет Rickert,   ты меня не понял наверно..   smile  я говорю о картинке... что на взгляд как  то ландшафт и SkyBox отдельно друг от друга.. ландшафт как ковёр-самолт летает  в воздухе.

PM MAIL ICQ   Вверх
Rickert
Дата 19.10.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Reptor, А ну так естественно smile
Давай, подумай, как от этого избавиться?
0) Во-первых сделать ограничение на движениее камеры как-то. Может сделать имитацию человеческого движения по поверхности: прыжок, вперёд, назад и всё такое.
1) Можно генерировать большой ландшафт и отображать его по кускам: те, которые видны.
2) Можно добавить туман, чтобы не было видно конца горизонта и опять-таки генерировать большой ландшафт.
Это всё то, что пришло первое на ум.
Поразмышляй smile

Это сообщение отредактировал(а) Rickert - 19.10.2008, 15:12


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Reptor
Дата 19.10.2008, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Rickert, а как мне добавить лёгкий туман на углах skyBox... так что б было всё видно но с легкой серостью...У меня сильно затуманено выходит... картинка в атаче.

я уже использую glFogf(GL_FOG_DENSITY, 0.01f); 

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  tyman.rar 46,64 Kb
PM MAIL ICQ   Вверх
Rickert
Дата 19.10.2008, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



http://www.progz.ru/articles.php?issue=5
Глава 6, пункт 6.3 и дальше. Изучай...


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Reptor
Дата 19.10.2008, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Rickert, а как нанести текстуру на мою дорогу... она рисуется как glBegin(GL_POLYGON);??

1-ое что мне приходит на ум так это отказаться от POLYGON

Это сообщение отредактировал(а) Reptor - 19.10.2008, 19:52
PM MAIL ICQ   Вверх
Rickert
Дата 20.10.2008, 03:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Цитата(Reptor @  19.10.2008,  19:51 Найти цитируемый пост)
Rickert, а как нанести текстуру на мою дорогу... она рисуется как glBegin(GL_POLYGON);??

Что значит "как"? А как ты её наложил на ландшафт?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Reptor
Дата 20.10.2008, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Цитата

Что значит "как"? А как ты её наложил на ландшафт? 


ну брал и кусочками вырезал пошагово... но там проще там же треугольниками... а тут много вершин..


Rickert,  и ещё я не совсем понял что такое z в формуле с туманом... я тут сам пытаюсь считать....ну и не совсеп понял что за z?

PM MAIL ICQ   Вверх
Rickert
Дата 20.10.2008, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Reptor, z - обычно под ней подразумевают либо отдалённость от смотрящего, либо глубину.
Цитата(Reptor @  20.10.2008,  11:04 Найти цитируемый пост)
ну брал и кусочками вырезал пошагово... но там проще там же треугольниками... а тут много вершин..

Всмысле "вырезал"?
У тебя должно было бы быть так: ландшафт из треугольников. Если смотреть на него в плоскости XZ, то самая нижняя левая вершина будет иметь UV координаты(0.0, 0.0), а самая верхняя правая (1.0, 1.0), а те, что между ними - промежуточные значения, исходя из их положения относительно крайних.
Теперь дорога. Оказывается она у нас с проблемой... Нет UV координат у плоского выпуклого тела. Если у нас дорога будет использовать текстуру например "асфальт", без разметок - то проблем не будет, а вот если нужны разделительные полосы, то тут мы ничего поделать не сможем - нам нужно заранее знать направления.
Вопрос такой: тебе данные о вершинах дороги поступают кучей, не какими - то опред. партиями, которые бы характеризовали: допустим некие дороги?

Это сообщение отредактировал(а) Rickert - 20.10.2008, 11:20


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0588 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.