Создание трехмерного изображения

Как можно используя OpenGL постоить трехмерную модель по вставленному BMP изображению?
7 ответов

...можно натянуть данный 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-модели


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]); из-за чего может это быть


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


Да, объект есть


я ввела bits как трехмерный массив и затем задала ему длину


Берешь 3д макс и строишь, вопрос ТУПОЙ


нужно обязательно с использованием OpenGL