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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2009, 21:28   #1
Альбина_88
 
Регистрация: 09.11.2009
Сообщений: 6
По умолчанию Создание трехмерного изображения

Как можно используя OpenGL постоить трехмерную модель по вставленному BMP изображению?
Альбина_88 вне форума Ответить с цитированием
Старый 09.11.2009, 21:33   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...можно натянуть данный bmp на модель в виде текстуры, например так:
Код:
var i, j: Integer;
begin
 bitmap := TBitmap.Create;
 bitmap.LoadFromFile('test.bmp');

 for i:= 0 to 63 do
  for j:= 0 to 63 do begin
   bits[i, j, 0]:= GetRValue(bitmap.Canvas.Pixels[i,j]);
   bits[i, j, 1]:= GetGValue(bitmap.Canvas.Pixels[i,j]);
   bits[i, j, 2]:= GetBValue(bitmap.Canvas.Pixels[i,j]);
   bits[i, j, 3]:= 255;
  end;

 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
 glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
              64, 64,
              0, GL_RGBA, GL_UNSIGNED_BYTE, @bits);
 glEnable(GL_TEXTURE_2D);
 glEnable(GL_TEXTURE_GEN_S);
 glEnable(GL_TEXTURE_GEN_T)
end;
...или использовать bmp в качестве контура 3d-модели
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 09.11.2009, 23:18   #3
Альбина_88
 
Регистрация: 09.11.2009
Сообщений: 6
По умолчанию Возникает ошибка

Project.exe raised exception class EAccessViolation with message' Access violation at address 004662A5 in module' в строке
bits[i, j, 0]:= GetRValue(bitmap.Canvas.Pixels[i,j]); из-за чего может это быть
Альбина_88 вне форума Ответить с цитированием
Старый 09.11.2009, 23:49   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

вы просто код скопировали или ввели переменную bits ?
Код:
bits: Array [0..63, 0..63, 0..3] of GLubyte;
кроме того, повторю еще раз: приведенная функция лишь натягивает на объект bmp... у вас объект есть, построен?

UPD: у вас bmp лежит в каталоге?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 10.11.2009 в 00:39.
raxp вне форума Ответить с цитированием
Старый 10.11.2009, 00:19   #5
Альбина_88
 
Регистрация: 09.11.2009
Сообщений: 6
По умолчанию

Да, объект есть
Альбина_88 вне форума Ответить с цитированием
Старый 10.11.2009, 00:24   #6
Альбина_88
 
Регистрация: 09.11.2009
Сообщений: 6
По умолчанию

я ввела bits как трехмерный массив и затем задала ему длину
Альбина_88 вне форума Ответить с цитированием
Старый 10.11.2009, 00:24   #7
lennon
Заблокирован
 
Регистрация: 18.11.2007
Сообщений: 254
По умолчанию

Берешь 3д макс и строишь, вопрос ТУПОЙ
lennon вне форума Ответить с цитированием
Старый 10.11.2009, 00:28   #8
Альбина_88
 
Регистрация: 09.11.2009
Сообщений: 6
По умолчанию

нужно обязательно с использованием OpenGL
Альбина_88 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание трехмерного пользовательского интерфейса NSV Компоненты Delphi 25 26.06.2009 21:32
Рендеринг изображения - создание отражения BOBAH13 Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 18.01.2009 16:27
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" ruelCrow Общие вопросы .NET 3 10.07.2008 23:29
Изображения в БД alikon1 БД в Delphi 3 08.10.2007 13:13
Печать изображения 1123 Общие вопросы Delphi 2 31.01.2007 20:45