Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Technologies / Divers > Développement 2D, 3D et Jeux > APIs multimédia > OpenGL

OpenGL Forum d'entraide sur le développement en OpenGL. Avant de poster -> FAQ OpenGL

Réponse
 
Outils de la discussion
Vieux 24/11/2008, 21h25   #16 (permalink)
Membre chevronné
 
Date d'inscription: octobre 2004
Messages: 608
Par défaut

Merci pour la précison, je penserai à passer en version shader une fois que la version de base marchera parfaitement et ce n'est toujours pas le cas

J'avais un rendu fixe, avec une seule position d'objet et de caméra. Maintenant je fais varier tout ça et je découvre des choses étranges ...
Mwarf, ça commence a devenir compliqué tout ça :/ Si j'avais su qu'il y avait autant de complications possible au menu, j'aurais pris un autre restaurant

Edit :
Par exemple, avec les photo ci-dessous, je m'attendrai à avoir ne zone d'ombre uniquement en face du quad et pas égalemetn sur ces côté, étant donné que j'ai une lumière direcitonelle (pas un spot). J'ai beau réfléchir au pourquoi du comment, je ne vois pas comment il en arrive à me trouver ce genre d'ombre. [ ce n'est pas un cas isolé, dans pas mal d'autres configurations, les résultats ne sont pas conformes à mes attentes]
Images attachées
Type de fichier : png ombre trop grande1.png (18,8 Ko, 6 affichages)
Type de fichier : png ombre trop grande2.png (19,8 Ko, 6 affichages)

Dernière modification par Clad3 ; 24/11/2008 à 21h56
Clad3 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/11/2008, 10h12   #17 (permalink)
Rédacteur/Modérateur
 
Avatar de shenron666
 
Date d'inscription: avril 2005
Localisation: Perdu
Âge: 32
Messages: 1 758
Par défaut

penses tu à prendre en compte la position de la caméra dans tes calculs de projection de la shadowmap

Citation:
Envoyé par Clad3 Voir le message
j'ai une lumière direcitonelle (pas un spot).
dans ce cas c'est une lumière omnidirectionnelle

Citation:
Envoyé par Clad3 Voir le message
Merci pour la précison, je penserai à passer en version shader une fois que la version de base marchera parfaitement et ce n'est toujours pas le cas
les shaders pourraient te simplifier bien des choses dans la combinaison des textures
tu peux personnaliser tes calculs contrairement aux fonctions cablées
__________________
Je ne répondrai à aucune question en MP

BUG : Fonctionnalité non documenté d'un logiciel en cours de développement
Règles de base du debuggage : ne pas avoir de préjugé sur ce qui va se passer

Tutoriels OpenGL
shenron666 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/11/2008, 10h56   #18 (permalink)
Rédacteur/Modérateur
 
Avatar de bafman
 
Date d'inscription: novembre 2003
Localisation: Paris
Âge: 24
Messages: 2 333
Par défaut

Citation:
Envoyé par shenron666 Voir le message
dans ce cas c'est une lumière omnidirectionnelle
on peut faire des lumière directionnelles non ponctuelles (pour simuler l'effet du soleil par exemple)
__________________
Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
bafman est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/11/2008, 13h24   #19 (permalink)
Rédacteur/Modérateur
 
Avatar de shenron666
 
Date d'inscription: avril 2005
Localisation: Perdu
Âge: 32
Messages: 1 758
Par défaut

ah oui en fait une lumière simulée juste par une direction
je devais avoir la tête dans un truc pas clair pour ne pas y avoir pensé
surtout que c'est plus que courant

merci Bafman de m'avoir éclairci les idées
__________________
Je ne répondrai à aucune question en MP

BUG : Fonctionnalité non documenté d'un logiciel en cours de développement
Règles de base du debuggage : ne pas avoir de préjugé sur ce qui va se passer

Tutoriels OpenGL
shenron666 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/11/2008, 19h30   #20 (permalink)
Membre chevronné
 
Date d'inscription: octobre 2004
Messages: 608
Par défaut

Citation:
penses tu à prendre en compte la position de la caméra dans tes calculs de projection de la shadowmap
Dnas ma phase d'initialisation ( à chaque frame), j'ai ceci :

Code :
 
glActiveTexture(GL_TEXTURE1);
	glEnable(GL_TEXTURE_2D);
	glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
	glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_PREVIOUS);
	glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_TEXTURE);
 
	glBindTexture(GL_TEXTURE_2D, shadowMapTexture);
	glTexImage2D(	GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, shadowMapSize, shadowMapSize, 0,
					GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, NULL);
 
	//Calculate & save matrices
	glPushMatrix();
 
	glLoadIdentity();
	gluPerspective(45.0f, (float)windowwidth/windowheight, 0.1f, 100.0f);
	glGetFloatv(GL_MODELVIEW_MATRIX, cameraProjectionMatrix.coeff);
 
	glLoadIdentity();
	Application::Instance().m_RenderTask.Cam.Focalize();
	glGetFloatv(GL_MODELVIEW_MATRIX, cameraViewMatrix.coeff);
 
	glLoadIdentity();
	gluPerspective(45.0f, 1.0f, 2.0f, 8.0f);
	glGetFloatv(GL_MODELVIEW_MATRIX, lightProjectionMatrix.coeff);
 
	glLoadIdentity();
	gluLookAt(	lightPosition.x, lightPosition.y, lightPosition.z,
				0.0f, 0.0f, 0.0f,
				0.0f, 1.0f, 0.0f);
	glGetFloatv(GL_MODELVIEW_MATRIX, lightViewMatrix.coeff);
	glPopMatrix();
 
On notera surtout les 3 lignes :

Code :
 
	glLoadIdentity();
	Application::Instance().m_RenderTask.Cam.Focalize();
	glGetFloatv(GL_MODELVIEW_MATRIX, cameraViewMatrix.coeff);
 
Dans la fonction focalize(), je fais juste un gluLookAt qui va bien
Clad3 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS 2D - 3D - JEUXLES FAQsTUTORIELSOUTILSBIBLIOTHEQUESMEDIASLIVRESSOURCESTVBLOG

Réponse

Précédent   Forum des développeurs > Technologies / Divers > Développement 2D, 3D et Jeux > APIs multimédia > OpenGL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide