Сообщения на форуме пользователя Andrey (240 стр.)
resource manager | 5 ноя. 2004 | 9:02 | #1 |
---|
stpg
>И как Вы реализовуете Менеджер Ресурсов???
Ну меня он только начался разробатывать.Я например сделал так:
Есть класс ResourceManager
В этом классе есть ассоциативный массив указтелей на абстрактный класс Resource.Ключом поиска в ассоциативном массиве является расширение файла.От Абстракного класса Resource у меня наследуется пока разработанных 4 класса ресурсов:
TgaResource - для загрузки файлов формата TGA
JpgResource - для загрузки файлов формата JPG
BmpResource -для загрузки файлов формата BMP
GifResource - для загрузки файлов формата GIF (еще в процессе)
_3DSResource для загрузки файлов формата 3DS
4 первых ресурса наследуются от класса GraphicResource, который в свою очередь наследуется от класса Resource.
Для загрузки ресурса я даю менеджеру ресурсов имя файла, менеджер ресурсов сам автоматически узнает по расширению тип ресурса и загружает его.В случае успешной загрузке, если это графический ресурс то,менеджер ресурсов загружает текстуру в память, и возвращает индекс текстуры.
Для 3ds файлов он возврвщает указатель на загруженную 3ds модель. Для инициализации менеджера ресурсов я просто добавляю зарегистрированные ресурсы в ассоциативный массив.Мне пока кажеться это удобный способ.Ели я нахожу
нужный мне ресурс я создаю соответствующий класс начледую его то класса GraphicResource еcли ресурс графический,или от класса Resource если ресурс другого типа.Обработка ошибок реализуется также в менеджере ресурсов.
>И как Вы реализовуете Менеджер Ресурсов???
Ну меня он только начался разробатывать.Я например сделал так:
Есть класс ResourceManager
В этом классе есть ассоциативный массив указтелей на абстрактный класс Resource.Ключом поиска в ассоциативном массиве является расширение файла.От Абстракного класса Resource у меня наследуется пока разработанных 4 класса ресурсов:
TgaResource - для загрузки файлов формата TGA
JpgResource - для загрузки файлов формата JPG
BmpResource -для загрузки файлов формата BMP
GifResource - для загрузки файлов формата GIF (еще в процессе)
_3DSResource для загрузки файлов формата 3DS
4 первых ресурса наследуются от класса GraphicResource, который в свою очередь наследуется от класса Resource.
Для загрузки ресурса я даю менеджеру ресурсов имя файла, менеджер ресурсов сам автоматически узнает по расширению тип ресурса и загружает его.В случае успешной загрузке, если это графический ресурс то,менеджер ресурсов загружает текстуру в память, и возвращает индекс текстуры.
Для 3ds файлов он возврвщает указатель на загруженную 3ds модель. Для инициализации менеджера ресурсов я просто добавляю зарегистрированные ресурсы в ассоциативный массив.Мне пока кажеться это удобный способ.Ели я нахожу
нужный мне ресурс я создаю соответствующий класс начледую его то класса GraphicResource еcли ресурс графический,или от класса Resource если ресурс другого типа.Обработка ошибок реализуется также в менеджере ресурсов.
Где взять доки к Intel JPEG Library? | 5 ноя. 2004 | 8:38 | #5 |
---|
tav
А если просто текстрные координаты другими задать?
>как заставить IJL загружать изображение в перевёрнутом виде.
Ну наверное это надо перекомпилировать код самой библиотеки.Но я могу ошибаться.В документации ничего не казано по поводу этого?
А если просто текстрные координаты другими задать?
>как заставить IJL загружать изображение в перевёрнутом виде.
Ну наверное это надо перекомпилировать код самой библиотеки.Но я могу ошибаться.В документации ничего не казано по поводу этого?
GUNgine | 5 ноя. 2004 | 8:35 | #581 |
---|
Grey-
> Step9\src\stl\stl_alloc.h(305): fatal error C1001: INTERNAL COMPILER ERROR
> (compiler file 'msc1.cpp', line 2701)
> Please choose the Technical Support command on the Visual C++
> Help menu, or open the Technical Support help file for more information
Это компилятор "падает"
Такое у меня было в 6.0 но в 7 не было...Для 6.0 нужнн Service Pack 5.0.Ну для 7.0 не знаю что посоветовать.У меня рвботает,
может тебе тоже Service Pack поставить для 7.0?
> Step9\src\stl\stl_alloc.h(305): fatal error C1001: INTERNAL COMPILER ERROR
> (compiler file 'msc1.cpp', line 2701)
> Please choose the Technical Support command on the Visual C++
> Help menu, or open the Technical Support help file for more information
Это компилятор "падает"
Такое у меня было в 6.0 но в 7 не было...Для 6.0 нужнн Service Pack 5.0.Ну для 7.0 не знаю что посоветовать.У меня рвботает,
может тебе тоже Service Pack поставить для 7.0?
Ну что скажете по поводу этого? (бородатый баян про бороды) | 4 ноя. 2004 | 10:15 | #8 |
---|
Главное С/С++ рулит и это надолго
Где взять доки к Intel JPEG Library? | 4 ноя. 2004 | 9:43 | #3 |
---|
tav
Незачто.
Незачто.
GUNgine | 4 ноя. 2004 | 9:36 | #577 |
---|
Neiro
Скинул.Версия без ошибок для Visual C++ 6.0
Grey-
Для Visual C++ .Net все работает без проблем.Для Visual C++ 6.0 надо много ошибок исправить.В частности переопределение переменных, преобразование к типу __int64
Скинул.Версия без ошибок для Visual C++ 6.0
Grey-
Для Visual C++ .Net все работает без проблем.Для Visual C++ 6.0 надо много ошибок исправить.В частности переопределение переменных, преобразование к типу __int64
Где взять доки к Intel JPEG Library? | 4 ноя. 2004 | 8:52 | #1 |
---|
tav
Посмотри почту я тебе отправил все что касается ijl.
Посмотри почту я тебе отправил все что касается ijl.
Раздел ОБУЧЕНИЕ проекта Almighty. | 3 ноя. 2004 | 16:23 | #714 |
---|
Anubis
Ну не знаю я бы так не делал
Mictian
Ну моя подсказка правильная?
Ну не знаю я бы так не делал
Mictian
Ну моя подсказка правильная?
Раздел ОБУЧЕНИЕ проекта Almighty. | 3 ноя. 2004 | 14:31 | #710 |
---|
Mictian
>А мне что-нить даст переопределение оператора new?
смотря для чего.В уроке тебе это ненужно.И зачем выходить за рамки урока?
>А мне что-нить даст переопределение оператора new?
смотря для чего.В уроке тебе это ненужно.И зачем выходить за рамки урока?
Раздел ОБУЧЕНИЕ проекта Almighty. | 3 ноя. 2004 | 14:21 | #708 |
---|
Mictian
Light::Light( const string& name, const vec4& color ) { //... SceneObj::m_Objects.insert( make_pair( m_Name, this ) ); //... } Light::Light() { //... SceneObj::m_Objects.insert( make_pair( m_Name, this ) ); //... } GeomObj::GeomObj() { //... SceneObj::m_Objects.insert( make_pair( m_Name, this ) ); //... } GeomObj::GeomObj( const string& name, const vec4& color ) { //... SceneObj::m_Objects.insert( make_pair( m_Name, this ) ); //... }
вроде тут ошибка
Ты this пытаешься записать в map.
по моему пока из конструктора не выйдешь указатель не инициализирован.И память под объект не выделена.
Сначала создай объект с помощью конструктора а потом пихай его в map.
попробуй это сделать после выхода из конструктора.
Если не правильно подсказал не пинайте.
Раздел ОБУЧЕНИЕ проекта Almighty. | 3 ноя. 2004 | 13:41 | #703 |
---|
PC
*MPAK*
Всем спасибо только что убрал случайно именно этот проклятый минус!!!!!!!!!!!!!!!!!!!!!!!!
*MPAK*
Всем спасибо только что убрал случайно именно этот проклятый минус!!!!!!!!!!!!!!!!!!!!!!!!
Раздел ОБУЧЕНИЕ проекта Almighty. | 3 ноя. 2004 | 13:03 | #700 |
---|
Mictian
Код в студию.
all
Народ не знаете почему у меня у кубика грани в трапецию искажаются?
если отдельно перемножать на матрицы сформированны с помощью rotateX,rotateY,rotateZ
все ок но, если перемножить на матрицу rotateXYZ то грани искажаются!!!
вот код
Код в студию.
all
Народ не знаете почему у меня у кубика грани в трапецию искажаются?
если отдельно перемножать на матрицы сформированны с помощью rotateX,rotateY,rotateZ
все ок но, если перемножить на матрицу rotateXYZ то грани искажаются!!!
вот код
//Матрица вращения по всем 3 углам inline void rotateXYZ(float pitch, float yaw, float roll) { float CosPitch = cosf(pitch); float SinPitch = sinf(pitch); float CosYaw = cosf(yaw); float SinYaw = sinf(yaw); float CosRoll = cosf(roll); float SinRoll = sinf(roll); Matrix[0][0] = CosYaw*CosRoll; Matrix[0][1] = SinRoll*CosYaw; Matrix[0][2] = -SinYaw; Matrix[0][3] = 0.0f; Matrix[1][0] = SinPitch*SinYaw*CosRoll - SinRoll*CosPitch; Matrix[1][1] = SinPitch*SinYaw*SinRoll + CosPitch*CosRoll; Matrix[1][2] = -SinPitch*CosYaw; Matrix[1][3] = 0.0f; Matrix[2][0] = SinYaw*CosPitch*CosRoll + SinPitch*SinRoll; Matrix[2][1] = SinRoll*SinYaw*CosPitch - CosRoll*SinPitch; Matrix[2][2] = CosPitch*CosYaw; Matrix[2][3] = 0.0f; Matrix[3][0] = 0.0f; Matrix[3][1] = 0.0f; Matrix[3][2] = 0.0f; Matrix[3][3] = 1.0f; }
Посмотрите где ошибка пожалуйста!!!
GUNgine | 3 ноя. 2004 | 8:35 | #570 |
---|
Grey-
>и удивился количеству warnig
Эти предупреждения по поводу шаблонов были?
>Банальные методы типа : #pragma warning (disable: 4786) ничем не помогло.
А мне помогло ты где это ставил?
Если хочешь давай на мыло пришлю тебе исправленный шаг 5 без предупреждений.
>и удивился количеству warnig
Эти предупреждения по поводу шаблонов были?
>Банальные методы типа : #pragma warning (disable: 4786) ничем не помогло.
А мне помогло ты где это ставил?
Если хочешь давай на мыло пришлю тебе исправленный шаг 5 без предупреждений.
Ну что скажете по поводу этого? (бородатый баян про бороды) | 2 ноя. 2004 | 15:45 | #0 |
---|
Стоит ли делать редактор 3d ландшафтов? | 2 ноя. 2004 | 14:29 | #6 |
---|
UrryMcA
Я бы тоже присоеденился к написанию редактора если можно.
Я бы тоже присоеденился к написанию редактора если можно.