|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.12.2010, 07:13 | #41 | |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Build 6
Цитата:
Выкладываю самый нестабильный билд (в том смысле, что в будущем многое будет не так). На иерархию классов интерфейса и его реализацию даже не смотрите (!). Научился выводить текст, но для этого приходится менять проекцию на gluOrtho2D, что, на мой взгляд, неэффективно. Иначе текст появляется, но на каждом кадре уезжает вправо. Может есть мысли, как вывести текст в перспективной проекции? Ещё не работает как следует функция винды ShowCursor. Сначала думал, что это мой косяк, но и после вызова ShowCursor(True) курсор не хотел отображаться. А есть начать <Esc> (выход в меню) и щёлкнуть вне окна, а потом щёлкнуть в окне и снова нажать <Esc>, то курсор появляется и больше не исчезает. В чём баг? Последний раз редактировалось anyx; 27.12.2010 в 12:43. |
|
27.12.2010, 08:45 | #42 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
Цитата:
|
|
27.12.2010, 09:28 | #43 |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Для этого нужно писать свои варианты операций с матрицами. Я пока не хочу в это углубляться. И даже если напишу, всё рано придётся думать, как вывести текст в перспективной проекции - результат моих операций, по логике, будет тот-же, что и у встроенных.
|
27.12.2010, 11:07 | #44 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Теперь текстуры накладываются нормально. Иногда, правда, в стены немного влипаешь, особенно если вскользь их задеваешь, так что ровность движения из-за этого теряется, ну это плюс-минус мелочи.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
27.12.2010, 11:25 | #45 |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Просто теперь в папке с ехе-шником мои opengl32.dll и glu32.dll, на которых всё проверено. Кстати, не лучше ли таскать эти библиотеки, взятые из 32-разрядной версии Win7? Если у вас эта система, выложите эти библиотеки. Проверю, не будет ли проблем с совместимостью, и если будет всё в порядке, оставлю их.
P.S. Хотя, имеет ли это смысл? Мелкомягкие opengl не развивают. Может эти версии и не отличаются. Вообще, жаль, что только столь древняя opengl доступна под виндой (1.3 вроде) Последний раз редактировалось anyx; 27.12.2010 в 12:00. |
27.12.2010, 11:36 | #46 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
Не парся с glOrtho(), +1 пересчет матрицы к тысячи особо не замедлит работу программы, но если так хочешь оптимизировать, заранее заготовь рассчитанные матрицы проекции(Ortho и Perspective) и устанавливай их по одному разу за кадр.
При проверки столкновений не стоит просто делать скорость 0, делай выталкивание перса на величину проникновения в препятствие по нормали препятствия... Тогда проблемы сами отпадут... Код:
Под углом в 45n(n=1,3,5...) градусов я хожу быстрее, делай нормировку скорости... Последний раз редактировалось Kostia; 27.12.2010 в 11:51. |
28.12.2010, 10:54 | #47 |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Build 7
Более-менее полноценно реализовал интерфейс. Есть баги - текст отображается неправильным цветом, но в целом всё работает. Есть Label'ы и Button'ы. Отображаются на поверхности компонента-родителя с правильными координатами.
|
02.01.2011, 20:13 | #48 | |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Build 8
Так, изменений с прошлой версии почти нет, выкладывают только чтобы не было несоответствия версий.
У меня две проблемы. Во-первых, срочно нужно оптимизировать. У меня на компе всего 10 fps. Да, комп у меня очень слабый. Но такая простая сцена не должна так нагружать комп. У кого есть опыт, подскажите, где можно оптимизировать? Во-вторых (это уже не так важно), надо бы переходить от текстовых файлов к бинарным, так же надо делать кое-какую физику (а не то извращение, что я сейчас использую). Есть идеи по поводу формы хранения объектов (координаты, текстуры, физические свойства)? Цитата:
P.S. Честно, гуглил минут тридцать, но формулу векторного произведения в пространстве так и не нашёл... P.S.2. Сегодня доделал кое-что, решил новый билд не делать, выкладываю здесь. Короче, в этом сообщении версия от вчерашней отличается. Последний раз редактировалось anyx; 03.01.2011 в 15:59. |
|
11.01.2011, 16:14 | #49 | |
Пользователь
Регистрация: 30.07.2010
Сообщений: 30
|
Цитата:
С предыдущим билдом (предпоследний вопрос) такого не было. Перепроверь архив и перезалей. |
|
25.04.2011, 12:03 | #50 |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Есть несколько проблем:
1. Координаты клика в OnClick и подобных передаются относительно верхней границы окна, а не клиентской области. И ф-ия glViewport, похоже, устанавливает область просмотра от границы окна. Что делать? У меня label-ы с маленькой x координатой наполовину перекрываются заголовком окна. Это не дело... 2. При переходе в полноэкранный режим (ф-ия ChangeDisplaySettings) контекст рендеринга теряется - чёрный экран вместо графики. Читал, что нужно переходить в полноэкранный режим до создания окна, но с моей иерархией классов потребуется много переделок. Может есть другой выход? 3. Оптимизация. Не могу найти, что можно оптимизировать в обработчике OnIdle, чтобы поднять FPS. Вроде я всего вывожу графику и смотрю, нет ли столкновений со стенами, а тормозит на моём компе прилично. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ничего себе... 3D шутер... | mihali4 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 91 | 21.05.2011 13:29 |