Witam,
chcĘ wykorzystac model otexturowany w OpenGL. W jaki sposob mozna to wykonac? Jest jakies rozszerzenie pliku lub rozszerzenie OpenGL do takiej operacji? chcĘ wprowadzic ten model w innym jezyku asm.
Dziekuje za wszelka pomoc.
Witam,
chcĘ wykorzystac model otexturowany w OpenGL. W jaki sposob mozna to wykonac? Jest jakies rozszerzenie pliku lub rozszerzenie OpenGL do takiej operacji? chcĘ wprowadzic ten model w innym jezyku asm.
Dziekuje za wszelka pomoc.
W ostatecznosci jedynie uzyc bede musial recznego sposobu ale czy nie ma jakiegos rozszrzenia?
Zależy w jakim formacie jest model/za pomocą jakiego programu jest stworzony. Pamiętam, że na sourceforge były jakieś biblioteki OpenGL do ładowanie modeli w pewnych formatach. Zajrzyj - może będzie.
tworzony w blenedrze ale export do 3ds jest oraz do innych formatow. Nie widzialem tam bibliotek.
Cos jest, bede musial skleic. Dzieki za starania.
Pozdro
jak wies jak narysowac trojkat to tylo to ci wystarczy reszta to zapisanie do pliku wierzcholkow i innych rzeczy zobacz cezet.host.k/glArraySelection.pas nie wiem czy i pomoze zawsze mozesz do pliku tekstowego takie rzeczy zapisywac pozniej je do tablicy z wierzcholami wczytavc i do tablicy z koordynatami tekstur pozniehj tylko ryujesz
Patrz na przyklad ten co podalem
arrays : array of
array of tinasmcoord; nasze wspolrzedne
face : array of tngasface;
type tngasface=record
//newmatrix : boolean;
textureindex : integer;
matrix : tmatrixtype;
usetex : boolean;
ambient : array[0..3] of single;
specular : array[0..3] of single;
diffuse : array[0..3] of single;
shine : single; //if shine = 560.7
bindmaterial : boolean;
//changematrix : boolean;
end;
type tinasmcoord=record
normal3f : t3dpoint;
texcoord2f : textpoint;
vertex3f : t3dpoint;
end;
rysowanie to petla
procedure DrawglArraySelection(Model : tglArraySelectionModel); overload;
var
i,j,n : integer; // x cos / y sin
FACECENTERPOINT : t3dpoint;
begin
if model.loadedtex = true then glbindtexture(GL_TEXTURE_2D,model.texture);
for i:=0 to high(model.face) do
begin
if length(model.textures) > 0 then
glbindtexture(GL_TEXTURE_2D,model.textures[model.face[i].textureindex]);
matrixtoglenable(model.face[i].matrix); to wlacza glbegin
for j:=0 to high(model.arrays[i]) do
begin
if
(model.arrays[i][j].normal3f.x = 0) and
(model.arrays[i][j].normal3f.y = 0) and
(model.arrays[i][j].normal3f.z = 0) then
glnormal3f(0,0,1)
else
glnormal3fv( @model.arrays[i][j].normal3f );
//}
gltexcoord2fv( @model.arrays[i][j].texcoord2f );
glvertex3fv( @model.arrays[i][j].vertex3f );
end;
glend();
end; //eof face
end;
nie wiem czy pomoze :U
Wiem jak narysowac ,lecz chcialem wykonac tu po prostu zaladowanie modelu by nie bawic sie tamtym bo wiadomo nie bedzie to jeden plik ;p. No i do tego kompresja pliku.