понедельник, 31 марта 2008 г.

Фсе плохо...

Понедельник. Выходные прошли. За прошедшие дни ничего вообще не сделал. Это ужасно. Состояние чет такое же - из-за учебы какой-то жесткий дипресняк. Осталось сдать совсем немного предметов, а времени на это осталось совсем мало. А на это наклдывается еще и то, что надо делать в этом семестре... В общем чет не очень дела у мну. В голове начинает зреть один коварный план, о котором я, может быть, потом расскажу.
А теперь немного хорошего : установил себе Ubuntu HardyHeron 8.04 alpha 6 (правда сейчас уже есть бета). Начал качать обновления, докачал до половины - решил оставить остальное на потом, однако убунта посоветовала перегрузить комп. Зря я последовал ее совету - упали иксы, что привело к том, что она стала работать только в режиме 800х600. Пришлось переставлять полностью всю систему. Переставил, скачал драйвера, обновления и вот уже второй день все работает. Выглядит это все вот так :

четверг, 27 марта 2008 г.

О моих планах, идеях, мечтаниях...

Вот чет захотелось рассказать о том, чего бы мне хотелось сделать в ближайшее время, хотя это ближайшее время может растянуться и на год и на два, а может и того дольше. Но я надеюсь, что я это все замучу как можно быстрее. Расположу я это все в порядке желаемой очередности выполнения. Итак



  1. курсовая =) ну тут все довольно просто : фреймверк для двига, используемого в лаборатории компьютерной графики ИАПУ ДВО РАН, позволяющий создавать стереоизображения в реалтайме. О моем текущем прогрессе в этой области вы можете прочитать в моих двух предыдущих постах =) Завтра Танько должна дать мне анаглифные очки, так что смогу нормально это все тестить =)

  2. программа - тайм-менеджер. Она будет основана на принципе управления временем по методу Франклина. Для ее разработки будет использована библиотека Qt. Данные предполагается хранить в SQL базе, но как именно это все будет работать я еще не знаю =) Есть идея отображать задания в виде дерева, с возможностью вынесения всех подуровней какого-то уровня дерева на тот же уровнь.

  3. ну и самое интересное и далекое - написание игры =) Вообще самой главной идеей является написание ММОРПГ, но для начала есть более простая в реализации идея - экшн от третьего лица. Главным героем будет или чувак-панк, или на выбор один из трех : панк, металлист, гот. Причем ничего особенного : металлист - сильный, медлительный, туповатый, основное оружие - собственные кулаки; панк - чуть слабее, но зато быстрее, умный, оружие - че-нибудь из подручного, ибо кулаки слабые; гот - да хз че с ним, а-ля такой маг, что там с умом - хз, вроде как сам себе на своем постоянно угнетенном уме =) Хотя может и без гота, как не вписывающимся в общий колорит, ибо не подходит к реальности. Каждый уровень - вызов одной из "культурных большинств" : гопникам (кепачки, семачки, барсетки, спортивные штаны, туфли), гламур (ну тут и так все понятно), любители попсы (типа фэны) и футбольные фанаты. Возможно еще будут эмо. Вот такая вот штука =) Основной упор - колоритные персонажи, выполненные в карикатурном стиле и сюжет, хотя над вторым нужно будет еще хорошо подумать, ибо знакомых писателей-нефоров чет у мну нету. Хотя можно будет попробовать в этой роли моего знакомого скозлаЖопа, писатель он конечно хороший, но вот с тонкостями субкультур знаком плохо. Да и вообще хотелось бы собрать команду единомышленников, а не просто "тех, кто желает помочь".


Вот такие у меня глобальные планы =) О состоянии дел я буду обязательно отписываться. Как сказал kkray на форуме gamedev.ru "когда нужно перед кем-то отчитываться работается легче. Тем более что может быть кому-то будет интересно почитать" и я его в этом поддерживаю =)


З.Ы. если вы из Владивостока и думаете, что можете мне чем-нибудь помочь - милости прошу.


среда, 26 марта 2008 г.

О том, как это все работает...

Сейчас я расскажу о том, как работает моя программа построения псевдостереоизображений.


Идея очень проста : сначала делаем рендер в текстуру с небольшим смещением камеры влево, затем повторяем рендер той же самой сцены, но со смещением вправо. В моем примере это установка параметров gluLookAt в (-1.0f, ...) и в (1.0f, ...) соответственно. Затем рисуем квад во весь экран и на него натягиваем обе текстуры с применением простейшего шейдера, который в результирующий цвет записывает r компоненту от текстуры для левого глаза, и g и b компоненты от текстуры для правого глаза. И вуаля!


Что дальше? А дальше у меня по плану:



  1. написние шейдеров

    • использующих только r и b компоненты

    • c корректировкой изображения (использующие не чисто r для левого глаза и g и b для правого, а их сочетание с определенными коэффициентами)



  2. расчет смещения камеры.


Вот тут можно скачать бинарник, а вот тут можно скачать исходные коды. Для работы вам понадобиться библиотека glew, скачать ее можно вот тут.

понедельник, 24 марта 2008 г.

И радость и огорчение...

Настал тот великий день, когда я опять сел делать курсовик!


Сначала небольшое отступление. Тема моей курсовой : создание стереоизображений в реальном времени. Основная цель : написать фреймверк для существующего двига, который бы позволял создавать стереоизображения и управлять их параметрами. На данный момент стоит цель написать работающий код, который бы строил псевдостереоизображение. Почему псевдо ? Потому, что нормально не учитывается положение наблюдателя, а смещения для глаз берутся из головы, а не из формул =)


Оказалось, что я год просто тупил - я думал, что у меня не работал FBO, а оказалось что при натягивании на квад текстуры, которая была буферм кадра, я забывал задать нормали, из-за чего квад рисовался черным цветом и на текстуру ему было пофигу. А сегодня случилось чудо - я решил более полно изучить примеры и у меня все заработало =) Ура! Однако теперь появилась другая проблема : почему-то при мультитекстурировании правильно отображается только одна из двух текстур (либо для левого глаза, либо для правого), а другая просто черного цвета. Причем играясь с номерами текстурных юнитов (GL_TEXTUREi) и рисованием/не_рисованием текстур, я так и не увидел никакой закономерности. Вот теперь сижу медитирую над кодом...


Ура!!! Медитация окончена. Оказалось, что обязательно надо задавать мультитекстурные координаты для всех текстур (glMultiTextureCoord).


То, что сейчас уже работает опишу завтра и выложу исходники и работающий пример. Ждите ;)


воскресенье, 23 марта 2008 г.

Ужасы нашего века...

Ндамс, воскресенье. Сижу вот тут в ахуе... На сайте steps3d.narod.ru нашел пару ссылок.  Вот теперь сижу вообще офигевший от тупости нашего человечества, а точней той его части, которая думает как бы побольше заработать денег ничего не делая... Вот они : "Отчего нет новых артистов?" и "Да здравствуют пираты!" за авторством Вадима Пономарева. Побольше бы таких статей, да в массы их пустить...


Лан, пойду курсовик делать, а то надо же завтра чего-нить на паре компьютерной графики своему руководителю показывать...


среда, 19 марта 2008 г.

Первый пост

Вот я завел себе блог. В нем я планирую отражать свои успехи и тем самым попробую бороться со своим вечным спутником - ленью. И так, немного о себе. Сейчас я студент 4 курса Института Математики и Информатики Дальневосточного Государственного Университета. Специальность - прикладная математика и информатика, то есть после выпуска я буду именоваться как математик, системный программист. Моя специализация - математическое и программное обеспечение вычислительной техники.


Как написано в Обо мне я люблю программирование, панк, пиво и свою девушку. И так, обо всем по порядку =)



  • интересуюсь программированием 3D графики при помощи OpenGL. Уже имеется каркас движка, написанный по книге А. Борескова "Программирование трехмерной компьютерной игры на основе OpenGL". Правда мне не нравиться его структура - слишком уж он монолитный получается, хотелось бы более явного разделения на подсистемы, поэтому уже есть некоторые идеи по поводу своего двигла =) Так же интересует сетевое программирование - еще на втором курсе написал свой простенький консольный чат (если будут просьбы - выложу), затем продолжил это начинание тем, что написал клиент-серверный чат на базе курса Параллельное программирование с использованием библиотеки Qt (оч хорошая библиотека), получилось что-то в стиле IRC.

  • Рэп - говно, попса - параша, панки - Хой! победа - наша! Панк-философия - очень хорошая штука и я ее придерживаюсь =) Считаю самой важной вещью в жизни - это собственная свобода и счастье. Поэтому хожу я в том и так, как мне нравиться - в косухе, с пояса свисает цепь, в любимых и удобных гадах, периодически не бритый, а так же патлатый =) Слушаю Пургена, F.P.G., Тени Свободы, Теорию Хаоса, Серную Кислоту, Веселого Роджера и ОГО-П-ОГО.

  • Пиво - это не только вкусно, но еще и полезно =)

  • Красивая, умная, сексуальная, хозяйственная, очень активная. В общем сказка, а не девушка. Еще бы Панк вместо попсы слушала, но это дело наживное ;) Я ее зову Танько - мне так больше нравиться =) Хотя в оригинале она Татьяна =)


Для начала думаю хватит. И так много о себе рассказал =) Завтра новый день, посмотрим, что он мне принесет... надеюсь включительно сколько-нибудь строчек кода...