Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2013, 20:57   #11
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Как бы сделать само удаление объектов на Си. Типо деструкторов в с++.

Например.
Во время запуска приложения я загружаю массив текстур которые будут использоваться в игре.
tex[0] = engineloadTexture("1.bmp");
tex[1] = engineloadTexture("2.bmp");
tex[2] = engineloadTexture("3.bmp");

а во время выхода они бы само удалились.

т.е. чтобы не пришлось каждый раз писать для каждой текстурки

engineTextureFree(&tex[0]);
engineTextureFree(&tex[1]);
engineTextureFree(&tex[2]);

Они бы делались, но где-то и автоматически.

В общем пока вопрос открыт, как ?
Почему бы не переделать функцию загрузки текстуры, добавив в неё код, добавляющий указатель на загруженную текстуру в спец. массив? А при закрытии выгружать текстуры циклом из массива.
Я не знаток си, поэтому могу конкретно ошибаться.
Цитата:
это круче чем GetTickCount, покрайней мере точнее на порядок.
Что-то я сомневаюсь в этом. Попробуйте на время использовать GetTickCount.
Цитата:
низя мне добавлять sleep() это один единственный поток в котором по очереди обрабатываются сообщения, логика, прорисовка графики.
Два варианта:
1) Разделить на несколько потоков и не е.. себе мозги.
2) Рассчитывать какую часть времени занимает обработка кадра и уже от сюда ставить задержку. Но я пока слабо себе это представляю.
Цитата:
Какой смысл в нем? Имхо для расчетов нужно лишь прошедшее чтобы провернуть логику событий на нужную дельту и так каждый кадр.
Это хорошо подходит для нестабильной обработки кадра. Нестабильной, но повторяющейся. Вот для примера последовательность времён (каждоё число - затраченное время в миллисекундах на обработку кадра):
6 8 5 7 6 8 5 7 6 8 5 7 6 8 5 7 6 8 5 7 6 8 5 7 6 8 5 7
Вот именно здесь среднее время покажет себя лучше. Ну, я так думаю.
Kix.IV вне форума Ответить с цитированием
Старый 10.07.2013, 21:34   #12
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
добавив в неё код, добавляющий указатель на загруженную текстуру в спец. массив? А при закрытии выгружать текстуры циклом из массива.
точно, буду дублировать ссылки на структуры текстур внутри движка.
А когда двиг будет заканчивать работу пройдется по массиву указателей.
Мне даже кажется (перекрестился) что текстурки как токовые отдельно нафиг не нужны, нужен менеджер который будет их порождать и убивать в случае чего.

на лиммитер кадров забил пока. он как-то %пнуто, но работает.
щас за камеру взялся.
вот думаю для топ-давн вида(вид с верху) лучьше использовать орто проекцию или перспективную обращеную вниз и находящуюся от поверхности на неком удалении? С перспективной проекцией как мне кажется(...) эффект будет интересный (как в гта2) а с орто нифига такого не будет (
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 10.07.2013, 21:37   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Ты это серьезно?)
Ты мне предлагаешь заюзать на СИ-89 года, шаблоны с умными указателями?
И как это будет выглядеть?)
Помоему на Си лишь дико макросами можно спамить в коде.
а кто мешает применить плюсы? или в чем такой ограничитель себя?
современный С, это 2011, предыдущий 99, где там 89?
или у вас доисторический компиль?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.07.2013, 22:15   #14
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
или в чем такой ограничитель себя?
Ну так мало того что это изначально фейл, это же еще и селф брейн фак )
Это как желание добывать огонь из искры ударяя камни друг о друга, или трением крутя сухую палочку в деревяшке с сухой травой...
Короче, люди же раньше писали как-то на Си, я тоже хочу уметь такое!

Цитата:
или у вас доисторический компиль?
студия 2005, думаю 6-ю найти чтобы вообще по феншую все было )
одно смущает в ней, визуал ассиста под нее нет у меня (
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 11.07.2013, 18:18   #15
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Обнаружил что под встроенной видяхой интел текстуры не рисуются
Начал ковыряться в дебрях загрузки и обнаружил что если задать (в glTexImage2D) internalformat = GL_COMPRESSED_RGB как раз имею пустую текстуру, но если задаю GL_RGBA все норм. Вопрос че за... ? И разве GL_COMPRESSED_RGB не держится с хрен знает с каких времен?
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 11.07.2013, 21:31   #16
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Цитата:
GL_COMPRESSED_RGB
наверно это от того, что внутренний формат зависит от внешнего. если во внешнем четыре компоненты на тексель, то и во внутреннем должно быть четыре GL_COMPRESSED_RGBA.

а вообще если возникает вопрос
Цитата:
Вопрос че за... ?
есть glGetError.

Цитата:
Ну так мало того что это изначально фейл, это же еще и селф брейн фак )
Это как желание добывать огонь из искры ударяя камни друг о друга, или трением крутя сухую палочку в деревяшке с сухой травой...
Короче, люди же раньше писали как-то на Си, я тоже хочу уметь такое!
давай уже на ассемблере, и в рамках ОГЛ 1.5. люди ведь раньше и так писали. трения больше, опять же, глядишь и искра станет ярче.

Последний раз редактировалось f.hump; 11.07.2013 в 21:43.
f.hump вне форума Ответить с цитированием
Старый 11.07.2013, 21:59   #17
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
наверно это от того, что внутренний формат зависит от внешнего. если во внешнем четыре компоненты на тексель, то и во внутреннем должно быть четыре GL_COMPRESSED_RGBA.
нет я опечатался там битность одинаковая RGB и comp_RGB.

Цитата:
есть glGetError.
я предвижу что он сморозит что-то типо - инвалид параметр. И все равно придется копаться в мануалах и искать что же такое компрессия, и как ее понимает интел. У меня такое чувство что ему нужно более конкретный внутренних формат для хранения задавать, а не просто мол "с компрессией" короче наверное надо какую нибудь S3c компрессию выбирать. Странно но гефорс съел прошлый флаг с просто компрессией.
позже попробую.

Сейчас у мну проект вообще отказывается собираться т.к. я прикомпилид хеадерс пытался прикрутить (потомучто перекрестные сслыки заголовков меня задолбали, думал прекомпилид хеадер поможет) и сломал все к черту (
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 11.07.2013, 22:03   #18
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
я предвижу что он сморозит что-то типо - инвалид параметр. И все равно придется копаться в мануалах и искать что же такое компрессия, и как ее понимает интел. У меня такое чувство что ему нужно более конкретный внутренних формат для хранения задавать, а не просто мол "с компрессией" короче наверное надо какую нибудь S3c компрессию выбирать. Странно но гефорс съел прошлый флаг с просто компрессией.
позже попробую.
интел не обязан поддерживать сжатые текстуры внутренним форматом.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.07.2013, 22:30   #19
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
интел не обязан поддерживать сжатые текстуры внутренним форматом.
а если имеется тройка другая гл-расширений заявленных ?
Изображения
Тип файла: jpg cmp.jpg (101.1 Кб, 146 просмотров)
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 11.07.2013, 22:33   #20
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

да, в общем-то, никто не должен. если сжатого формата нет, то TexImage с GL_COMPRESSED_RGBA должен молча сохранять в подходящий базовый формат.

чо говорит glGetError?

Последний раз редактировалось f.hump; 11.07.2013 в 22:38.
f.hump вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Fail fast Arween Помощь студентам 0 31.05.2012 00:22
Fail Prince En Помощь студентам 0 07.03.2011 15:27
string epic fail Red_Line Общие вопросы C/C++ 5 09.02.2011 17:43
мой движок для текствых игр Juffin Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 10.06.2009 18:24
Помогитеу становить движок на сайт. Движок Joomla acmilan WordPress и другие CMS 2 01.04.2009 11:26