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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как взять размерность текстуры 
V
    Опции темы
Helicopterr
Дата 24.5.2006, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 20.8.2005
Где: Stavropol

Репутация: 1
Всего: 3



Школьный вопрос и я вот торможу... Из файла загружена текстура. Как взять её длина, высота? 


--------------------
people can fly
PM MAIL   Вверх
p0s0l
Дата 24.5.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



А куда загружена-то ?...

Если используешь Direct3D, то смотри:
IDirect3DTexture*::GetLevelDesc(0, ...) (см. Width, Height в D3DSURFACE_DESC) )
IDirect3DSurface*::GetDesc(...) (см. Width, Height в D3DSURFACE_DESC)

Если OpenGL:
glGetTexLevelParameter (GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH/GL_TEXTURE_HEIGHT, ...)

DirectDraw:
IDirectDrawSurface*::GetSurfaceDesc (см. dwWidth и dwHeight в DDSURFACEDESC2)
 


--------------------
С уважением, г-н Посол.
PM   Вверх
Helicopterr
Дата 25.5.2006, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 20.8.2005
Где: Stavropol

Репутация: 1
Всего: 3



Пишу под DX9. Гружу путем D3DXCreateTextureFromFile().
Есть у меня LPDIRECT3DTEXTURE9 Texture;
Код
float fWidth = (float)Texture->Width;
float fHeight = (float)Texture->Height;
//но к сожалению получаю нули, если:
_D3DSURFACE_DESC* psize;    
Texture->GetLevelDesc(0, psize);
float fWidth = (float)psize->Width;
float fHeight = (float)psize->Height;
//вылетает программа

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

Это сообщение отредактировал(а) Helicopterr - 25.5.2006, 00:43


--------------------
people can fly
PM MAIL   Вверх
p0s0l
Дата 25.5.2006, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Цитата(Helicopterr @  25.5.2006,  00:39 Найти цитируемый пост)
В MSDN есть GetBitmapSize() - заполняет структуру, но как её применить к отдельному файлу я не понял.
Если читать из файла, то тогда уж лучше наверное D3DXGetImageInfoFromFile...
Только результаты D3DXGetImageInfoFromFile и GetLevelDesc - могуть быть разными, т.к. текстура при загрузке может быть изменена в размере...
 


--------------------
С уважением, г-н Посол.
PM   Вверх
Helicopterr
Дата 27.5.2006, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 20.8.2005
Где: Stavropol

Репутация: 1
Всего: 3



D3DXGetImageInfoFromFile то, что нужно спасибо ;)))))  

Это сообщение отредактировал(а) Helicopterr - 27.5.2006, 18:30


--------------------
people can fly
PM MAIL   Вверх
atavinta
Дата 31.1.2008, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 31.1.2008
Где: Москва

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



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

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

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


 




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


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

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