Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - PIM

#16
Programación gráfica / Ayuda para entender las sombras.
16 de Marzo de 2014, 12:33:06 AM
Hola amigos de esta estupenda web. De nuevo solicitanto su amable ayuda para entender este tema que me trae liado.

Bueno entiendo que el primer paso es guardar en un fbo una textura de profundidad; la cual se hace desde el punto de vista de la luz. Esto se realiza con gluLookAt.

Luego se renderiza desde la cámara como normalmente se hace, pero que ahí se compara la distancia que hay desde la fuente de luz hacia el fragmento, en este caso los objetos.

Si esa distancia en igual que la que hay en la depth texture, entonces no hay nada que se interponga entre la luz y el fragmento y por lo tanto no hay sombra. Pero si la distancia es mayor de la luz hacia el fragmento que de la luz hacia el z buffer entonces sí hay sombra.  Y se puede procesar en los shaders ¿cierto?

Bueno, pero lo que no entiendo ¿Cómo es que se hace la comparación de el z buffer y una textura (En este caso la textura en donde está guardado el z-buffer)? O ¿No es en sí una texura sino más bien los datos que contienen esa textura los que se evaluan?

Si alguien pudiera hacerme el favor de escribir un pequeño ejemplo usando glsl (usando peras y manzanas) porque de plano soy muy tonto y no lo entiendo.  :-\

He visto varios tutoriales pero, además de que están en inglés de plano no comprendo cómo funciona la cosa.

De antemano muchas gracias por su ayuda.
:)
#17
Programación gráfica / Re:Ubicación de las luces
06 de Marzo de 2014, 11:54:46 PM
Ah, ok. Voy a hacer algunas pruebas para ver que tal queda.

Saludos y gracias por responder.
:)
#18
Programación gráfica / Re:Ubicación de las luces
06 de Marzo de 2014, 06:29:45 PM
Mmm, bueno no creo tener problemas con una habitación. Pero ¿y si se trata de por ejemplo una escena al aire libre de día? ¿Sólo bastará con una luz ambiental o necesitaré algo más?

Gracias por responder.

Saludos.
:D
#19
Programación gráfica / Ubicación de las luces
05 de Marzo de 2014, 08:22:59 PM
Hola de nuevo amigos. Me preguntaba si ustedes son tan amables de decirme ¿Cómo debo ubicar las luces en mi escena? Tambien el tipo de luces. Sé que varía dependiendo del ambiente, si es cerrado o abierto. La verdad es que no tengo una idea clara del tipo de luces y el lugar en donde debo colocarlas, para lograr tener una escena agradable visualmente hablando.

Si pudieran darme algunos ejemplos para darme una mejor idea.

Agradezco de antemano su ayuda.

Saludos.
^_^
#20
¡Puf! eso parece más complicado. Otra cosa que estaba leyendo es que esta técnica ocupa mucho ancho de banda del bus de la tarjeta gráfica. Creo que mientras no use más de ocho luces, mejor seguiré usando el "forward rendering".

Agradezco mucho tus respuestas.

Saludos.
;)
#21
Mmmmm. Se oye fácil pero, ¿Cómo renderizo esa zona que es afectada por la luz? De hecho ¿Cómo sé el tamaño de la zona que ocupa?

Gracias por responder y ojalá me tengas paciencia.

Saludos.
^_^'
#22
Hola amigos de esta estupenda web.  De nuevo molestándolos con dudas respecto a este tema. Ya he leido varios tutoriales (en inglés y bastante escuetos y otros demasiado técnicos). Y me gustaría saber si alguien que tenga experiencia con el Deferred Rendering en OpenGL me pueda ayudar.

Más o menos tengo la idea básica del G-buffer pero donde de plano no doy es con las luces.

Sé que mediante el uso de los FBO´s debo almacenar los datos del color (difuso), las normales, la posición del vértice y el z-buffer. Hasta ahí más o menos pero y las luces... ¿Cómo las proceso y las incorporo en mi fragment shader?.

Si alguien se pudiera tomar la molestia de escribir código de manera que lo pueda entender, le estaría muy agradecido.

De antemano muchas gracias.
;)

#23
Programación gráfica / Re:Usar VBOs y glsl 1.2
11 de Julio de 2013, 04:40:37 AM
Mmmm, mira que no me parece mala idea. Lo voy a probar.

Muchas gracias.
;)
#24
Programación gráfica / Usar VBOs y glsl 1.2
07 de Julio de 2013, 11:31:00 PM
Hola queridos amigos. Me preguntaba si alguien sabe cómo usar los Vertex Buffer Object junto con GLSL (1.2). He buscado en la red y casi siempre encuentro ejemplos pero con GLSL 3.0 .

Ojalá alguien pueda ayudame.

Saludos y muchas gracias.
;)
#25
General Programadores / Re:Problemas con constructores
10 de Junio de 2013, 12:36:30 AM
Muchas, muchas gracias amigo, mi problema está resuelto gracias a tu ayuda.

¡Ahora ya funciona!

Saludos y de nuevo gracias.
:)

#26
General Programadores / Re:NUEVO EN OPENGL( C++)
09 de Junio de 2013, 08:12:37 PM
Hola amigo. Pues mira, encontré una página muy interesante que trata de Opengl y C++. Por desgracia están en inglés pero ojalá y te sirva, ya que tiene videos y codigos de ejemplo.

Esta es la página: http://www.videotutorialsrock.com/index.php

Espero haberte ayudado.

Saludos.
;)
#27
General Programadores / Problemas con constructores
09 de Junio de 2013, 06:54:42 AM
Hola de nuevo amigos de esta estupenda web. Estoy haciendo mis primero pininos con C++ y tengo un problema que ojalá me puedan resolver.

Este es el código de mi cabecera.


#ifndef PRUEBA_H
#define PRUEBA_H

#include <iostream>
#include <cstring>

using namespace std;

class cadena{
  public:
   cadena();
   cadena(const char *c);
   cadena(int n);
   cadena(const cadena &Cad);
   ~cadena();
   void DevDir();
   void Asignar(const char *dest);
   char *Leer(char *c);
  private:
    char *cad;
    short valor;
    friend void tec(cadena obj);
};

#endif


Este el de mi archivo .cpp

#include "prueba.h"

cadena::cadena():cad(NULL),valor(128){}

cadena::cadena(const char *c){
  cad = new char[strlen(c)+1];
  strcpy(cad,c);
}

cadena::cadena(int n){
  cad = new char[n+1];
  cad[0] = 0;
}

cadena::cadena(const cadena &Cad){
  cad = new char[strlen(Cad.cad)+1];
  strcpy(cad,Cad.cad);
}

cadena::~cadena(){
  delete[] cad;
}

void cadena::DevDir(){
  cout << "dir valor: " << &cad << endl;
}

void cadena::Asignar(const char *dest){
  delete[] cad;
  cad = new char[strlen(dest)+1];
  strcpy(cad,dest);
}

char *cadena::Leer(char *c){
  strcpy(c,cad);
  return c;
}

void tec(cadena obj){
  cout << obj.valor << endl;
}


Y este el de main.

#include "prueba.h"

int main(){
    cadena Cadena1;

    tec(Cadena1);

    cin.get();
    return 0;
}


El problema es que lo compila bien, pero al ejecutarlo me manda un error como cuando hay una violación de acceso de memoria.

Uso Code::blocks y usando el debugger me indica que los errores están según en:

1. main, en la función tec(Cadena1).
2. en el archivo .cpp, en el constructor copia

El caso es que quitando la llamada a la función friend se quita el error, ya no hay errores.

Lo curioso es que incluso basta con solo llamar a la función tec(Cadena1) [aunque esté vacía] para que el error regrese. ¿Alguien me podría decir cuál es el error?

De antemano muchas gracias.
;)
#28
Programación gráfica / Problema con colisiones 3D
04 de Junio de 2013, 04:07:54 AM
Hola queridos amigos de esta estupenda web. Ojalá que me puedan ayudar con un problema que desde hace tiempo me tiene hecho  :shit: ( ^_^ ^_^)

Bien, comprendo lo de encerrar a los modelos en una caja o una esfera para saber si colisiona con algun otro del mismo tipo, con el fin de no usar muchos recursos al calcularlo.

Pero de plano lo que no acabo de entender es cómo realizo mis colisiones, de mi  personaje con la escena.

Ojalá me puedan ayudar.

Muchas gracias.
:)
#29
Modelado / Re:Texturización en grandes terrenos.
03 de Mayo de 2013, 06:49:39 PM
Hola. Bueno, esta duda también la he tenido yo. La respuesta está en un dicho que dice "Divide y vencerás". Yo te sugiero que dividas tu escena un varias más pequeñas.

Por ejemplo, una textura para sólo la pista (carretera), otra para las gradas de los espectadores (si es que hay). Otra para los árboles, césped, etc.

Saludos.
;)
#30
Programación gráfica / Duda con frustum culling
03 de Mayo de 2013, 05:12:29 PM
Hola de nuevo amigos de esta estupenda web. Tengo una duda respecto al Frustum Culling. Entiendo que es una técnica para evitar dibujar todo aquello que está fuera del Frustum View de la cámara.

Bueno, pero mi pregunta es: He construido una escena 3D con muchos cuartos y cosas dentro de los cuartos... Aplicar el frustum culling a los objetos dentro de los cuartos no sería difícil pero... ¿Cómo aplico el frustum culling a los cuartos en sí?

He leído un poco sobre árboles BSP, octrees, etc. Lo malo es que no veo cómo aplicar eso, en el programa de modelado de mi escena 3D.

Hay un dicho que dice, "Divide y vencerás". Me pregunto si sería buena idea modelar los cuartos por separado y unirlos en mi escena 3D como si fuera uno solo. Creo que sería fácil aplicar el frustum culling de este modo. ¿Qué opinan?

Agradezco de antemano su ayuda.

Muchas gracias.
;)





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.