begin process at 2012 02 11 16:22:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Mutimédia

 > 

Image & Vidéo

 > 

OpenGl et le Zbuffer


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

OpenGl et le Zbuffer

vendredi 10 juillet 2009 à 11:46:16 | OpenGl et le Zbuffer

User8

Bonjour,

Sous Opengl, je souhaiterai pouvoir colorier des objets 3d en fonction du Zbuffer mais jusqu'à maintenant toutes mes tentatives sont restées infructueuses. 

Voila ou j'en suis (pas bien loin)

var
   depth : array of  GlFloat;
   rgb   : array of  GlFloat;
begin
  setlength(depth,w*h);
  setlength(rgb,3*w*h);

  glReadPixels (0, 0, w, h, GL_DEPTH_COMPONENT, GL_FLOAT, depth);

  for i := 0 to (W * H)-1 do
  begin
     rgb[3*i]:=depth[i];
     rgb[3*i+1]:=depth[i];
     rgb[3*i+2]:=depth[i];
  end;

  glRasterPos2i(0, 0);
  glDrawPixels(w, h, GL_RGB, GL_FLOAT, rgb);
end;


Mais lorsque je lance la fonction je ne vois rien apparaitre. Je ne suis pas sur de passer correctement les arguments depth et rgb. Quelqu'un pourrait-il m'eclairer?

Merci d'avance
vendredi 10 juillet 2009 à 20:34:35 | Re : OpenGl et le Zbuffer

f0xi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !

var
   i,WH  : integer;
   depth : pAGlFloat;
   rgb   : pAGlFloat;
begin
  WH := w*h;
  depth := AllocMem(WH);
  rgb   := AllocMem(3*WH);
  try
    glReadPixels(0, 0, w, h, GL_DEPTH_COMPONENT, GL_FLOAT, Depth);

    for i := 0 to (WH)-1 do
    begin
      rgb^[3*i] := depth^[i];
      rgb^[3*i+1]:=depth^[i];
      rgb^[3*i+2]:=depth^[i];
    end;

    glRasterPos2i(0, 0);
    glDrawPixels(w, h, GL_RGB, GL_FLOAT, rgb);

  finally
    FreeMem(depth);
    FreeMem(rgb);
  end;
end;




mercredi 15 juillet 2009 à 09:58:37 | Re : OpenGl et le Zbuffer

User8

Réponse acceptée !
Merci pour la réponse FOxi.

Sinon voici une autre variante:

var
   depth : array of  GlFloat;
   rgb   : array of  GlFloat;
begin
  setlength(depth,w*h);
  setlength(rgb,3*w*h);

  glReadPixels (0, 0, w, h, GL_DEPTH_COMPONENT, GL_FLOAT, @depth[0]);

  for i := 0 to (W * H)-1 do
  begin
     rgb[3*i]:=depth[i];
     rgb[3*i+1]:=depth[i];
     rgb[3*i+2]:=depth[i];
  end;

  glRasterPos2i(0, 0);
  glDrawPixels(w, h, GL_RGB, GL_FLOAT, @rgb[0]);
end;



Cette discussion est classée dans : opengl, rgb, gl, zbuffer, depth


Répondre à ce message

Sujets en rapport avec ce message

opengl et MIPMAP [ par Vin-s ] Bonjour à tous,J'utilise OpenGL depuis peu..... et un problème très con s'offre à moi: Cette ligne de "paramètrage" d'une texture est connue:glTexPara opengl et cliplane [ par windsurfer ] toto le windsurferBonhour tout le monde.Je travail en opengl sous delphi et je ne parviens pas à définir un plan de clipping correctement. Pb de défin affiche un bitmap dans une fenetre opengl [ par taha18 ] ben ca fait des heures et des heures mais jarrive plus..aider moi svp!!ben ce ke je doi faire c j une 'foto.bmp' et je doit lafficher sur une fenetre jeu complet opengl [ par norton ] Bonjour je voudrai savoir si c'est possible de faire un jeu complet comme cs ou hl ou encore unreal tournament en opengl en language Delphi ?? (pascal On sait jamais ... [ par Indelphini ] et ça doit pas être trop dur pour quelqu'un qui connait OpenGL. Voila :j'écris un environnement freeware pour le jeu de go (saisie de parties, rejouer importer les Materiaux OpenGL d'un .3ds [ par neurone20001 ] Bonjours !J'aimerais savoir s'il est possible de charger un fichier .3ds en conservant ses textures et ses materiaux en opengl.Merci .;) Charger un 3ds avec ses textures et ses materiaux en opengl [ par neurone20001 ] Bonjour !Est-il possible de charger dans un TFreeForm (GLScene) un fichier .3ds avec sa texture ou ses materiaux ?Merci . :)Yéééééhhh :D OpenGL et sphère [ par Lennemi ] J'ai commencer a faire un petit systeme solaire, et jai mit une planete qui fait une révolution autour du soleil. Le probleme est que lorsque la plane Dessiner sur un png [ par corole3 ] Corole3Bonsoir, j'ai un png qui fait 1024*768 .J'essai de dessiner dessus, mais je n'y arrive pas au dela du pixel 120 je crois en hauteur et en larg Opengl - Base [ par Lennemi ] Salut,J'ai un mini probleme, je tente d'ajouter par programmation des cubes et je voudrais leur assigner comme effet ThorFx. J'ai tenter cette command


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 8,190 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales