Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Render De Una Escena...

Iniciado por vincent, 08 de Abril de 2005, 11:40:02 AM

« anterior - próximo »

vincent

 Muy buenas,

me gustaria que el render en mi motor saliese exactamente igual como lo proyecta el modelador en el max. De momento lo que hago es un render to texture de los lightmaps i multiplico la textura normal (la difusa) por el lightmap, pero no sale exactamente igual.

Me he estado mirando los otros render to texture, y el único que me parece que podria arreglar algo és el shadow map, aunque tampoco hace muy buena pinta del todo (hace sombras raras por ahi...

sabeis que ecuación de blending utiliza el max? o como combinar las texturas?

Merci!
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

BeRSeRKeR

 He mirado el código fuente del plugin que creo que es el que se encarga de visualizar los lightmaps en el viewport de MAX (LightMap DX shader) y parece que no hace nada fuera de lo normal. Concretamente:

pHWMtl->SetTextureColorArg(lightStage, 1, D3DTA_TEXTURE);
pHWMtl->SetTextureColorOp(lightStage,   D3DTOP_MODULATE);
pHWMtl->SetTextureColorArg(lightStage, 2, D3DTA_CURRENT);
pHWMtl->SetTextureAlphaOp(lightStage, D3DTOP_DISABLE);


Depués hay un trozo de código que está comentado que modula el lightmap con el doble de intensidad:

pd3dDevice->SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_TEXTURE );
pd3dDevice->SetTextureStageState( 1, D3DTSS_COLOROP,   D3DTOP_MODULATE2X );
pd3dDevice->SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_CURRENT );
pd3dDevice->SetTextureStageState( 1, D3DTSS_ALPHAOP,   D3DTOP_DISABLE );


Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

vincent

 pués no sé que haré mal... para muestra un botón:

Render desde max:


Render desde DX:


Hay como más contraste en las de max...

Por cierto BeRSeRKeR, donde puedo ver el código de este plugin?

Merci!
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

Pogacha

 Me parece que verias la solucion mas claramente si visulizaras unicamente los lightmaps, pues parece un tema de difución el problema.

vincent

 Mi reflexión es la siguiente: si yo tengo mi textura base y le aplico un lightmap con un MODULATE, lo único que hará el lightmap será oscurecer la imagen, pues si multiplico mi textura base por el valor más alto de intensidad que puede tener el lightmap (el color blanco) éste no alterará la textura, pués multiplicar una textura por el color blanco, nos dará la misma textura.

En cambio, el MAX al renderizar si que aclara las texturas...  :unsure:

Me equivoco? Como implementar esto?
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

BeRSeRKeR

Cita de: "vincent"Por cierto BeRSeRKeR, donde puedo ver el código de este plugin?
Si tienes el SDK de MAX, ve a la carpeta "\3dsmax7\maxsdk\samples\hardwareshaders\LightMap". Pero ten en cuenta que este plugin creo que es el que se encarga de renderizar los lightmaps en el viewport de MAX (cuando el renderer es Direct3D) y no tiene nada que ver con el renderer "offline" (Scanline, MentalRay...).

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!


Pogacha

 
CitarEn cambio, el MAX al renderizar si que aclara las texturas... 
Lo que se ve en las barandas es un reflejo especular, la resolucion de los lightmaps no parece la misma ...  :angry: .... tal vez no estes tomando en cuenta lo que BeRSeRKeR te nombra en su ultimo post  :lol: .

vincent

Cita de: "Pogacha"
CitarEn cambio, el MAX al renderizar si que aclara las texturas... 
Lo que se ve en las barandas es un reflejo especular, la resolucion de los lightmaps no parece la misma ...  :angry: .... tal vez no estes tomando en cuenta lo que BeRSeRKeR te nombra en su ultimo post  :lol: .
CitarLo que se ve en las barandas es un reflejo especular
mmmm..... hablaré con mi modelador....

Merci!
Desarrollo en .Net y metodologías http://devnettips.blogspot.com






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.