<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Sprites en OpenGL</title>
	<atom:link href="http://idev.ofcode.com/sprites-en-opengl/feed/" rel="self" type="application/rss+xml" />
	<link>http://idev.ofcode.com/sprites-en-opengl/</link>
	<description>iPhone tutorial iPod programacion  idev desarrollo itouch development OpenGL OpenGLEs Xcode neofar</description>
	<lastBuildDate>Mon, 05 Jul 2010 15:26:50 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: neofar</title>
		<link>http://idev.ofcode.com/sprites-en-opengl/comment-page-1/#comment-2901</link>
		<dc:creator>neofar</dc:creator>
		<pubDate>Thu, 31 Dec 2009 20:32:05 +0000</pubDate>
		<guid isPermaLink="false">http://idev.ofcode.com/?p=33#comment-2901</guid>
		<description>Este proyecto tiene más de un año, si lo intentas hacer ahora tienes que tener en cuenta que el template que trae el Xcode ha cambiado bastante (para dar soporte a la version de OpenGlEs que incorpora el nuevo 3GS).

De todos modos el error que te sale tampoco es cosa de otro mundo .. probablemente falta algún import con las librerías OGL.

He agregado al post un .zip con el ejemplo funcionando en la ultima versión del Xcode, lo unico que tienes que tener en cuenta ahora es que toda la logica se hace en el ES1Renderer en lugar del EAGLView

Si tienes dudas pregunta, un saludo</description>
		<content:encoded><![CDATA[<p>Este proyecto tiene más de un año, si lo intentas hacer ahora tienes que tener en cuenta que el template que trae el Xcode ha cambiado bastante (para dar soporte a la version de OpenGlEs que incorpora el nuevo 3GS).</p>
<p>De todos modos el error que te sale tampoco es cosa de otro mundo .. probablemente falta algún import con las librerías OGL.</p>
<p>He agregado al post un .zip con el ejemplo funcionando en la ultima versión del Xcode, lo unico que tienes que tener en cuenta ahora es que toda la logica se hace en el ES1Renderer en lugar del EAGLView</p>
<p>Si tienes dudas pregunta, un saludo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Néstor</title>
		<link>http://idev.ofcode.com/sprites-en-opengl/comment-page-1/#comment-2884</link>
		<dc:creator>Néstor</dc:creator>
		<pubDate>Tue, 29 Dec 2009 21:36:35 +0000</pubDate>
		<guid isPermaLink="false">http://idev.ofcode.com/?p=33#comment-2884</guid>
		<description>pues a mi me saca 5 errores, cada uno en EAGLView.h:

error: expected specifier-qualifier-list before &#039;GLuint&#039;
error: expected specifier-qualifier-list before &#039;GLuint&#039;
error: expected specifier-qualifier-list before &#039;GLuint&#039;
error: expected specifier-qualifier-list before &#039;GLint&#039;
error: expected specifier-qualifier-list before &#039;GLint&#039;</description>
		<content:encoded><![CDATA[<p>pues a mi me saca 5 errores, cada uno en EAGLView.h:</p>
<p>error: expected specifier-qualifier-list before &#8216;GLuint&#8217;<br />
error: expected specifier-qualifier-list before &#8216;GLuint&#8217;<br />
error: expected specifier-qualifier-list before &#8216;GLuint&#8217;<br />
error: expected specifier-qualifier-list before &#8216;GLint&#8217;<br />
error: expected specifier-qualifier-list before &#8216;GLint&#8217;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: neofar</title>
		<link>http://idev.ofcode.com/sprites-en-opengl/comment-page-1/#comment-17</link>
		<dc:creator>neofar</dc:creator>
		<pubDate>Sat, 28 Mar 2009 14:20:09 +0000</pubDate>
		<guid isPermaLink="false">http://idev.ofcode.com/?p=33#comment-17</guid>
		<description>Pues no, lo del blend no lo habia probado pero son funciones de configuracion del motor, no es necesario cambiarlas ni establecerlas al dibujar cada sprite si no es por implementar algun efecto de transparencia.

De todos modos he modificado el tutorial y os he subido los fuentes, mira las lineas nuevas que han aparecido en la función &#039;inicializar&#039; puedes hacer experimentos ahí comentando lineas.

las glTexParameter realmente no afectarán que el sprite se vea o no, son solo configuraciones de los filtros que se aplican al ampliar o reducir las texturas.</description>
		<content:encoded><![CDATA[<p>Pues no, lo del blend no lo habia probado pero son funciones de configuracion del motor, no es necesario cambiarlas ni establecerlas al dibujar cada sprite si no es por implementar algun efecto de transparencia.</p>
<p>De todos modos he modificado el tutorial y os he subido los fuentes, mira las lineas nuevas que han aparecido en la función &#8216;inicializar&#8217; puedes hacer experimentos ahí comentando lineas.</p>
<p>las glTexParameter realmente no afectarán que el sprite se vea o no, son solo configuraciones de los filtros que se aplican al ampliar o reducir las texturas.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nitz</title>
		<link>http://idev.ofcode.com/sprites-en-opengl/comment-page-1/#comment-16</link>
		<dc:creator>Nitz</dc:creator>
		<pubDate>Fri, 27 Mar 2009 17:45:29 +0000</pubDate>
		<guid isPermaLink="false">http://idev.ofcode.com/?p=33#comment-16</guid>
		<description>Mmm... ¿Seguro? Estoy probando en hacer lo que dices: dejar el setSprite intacto y setear el blend en el init.

Lamentablemente, me aparece la imagen en blanco.

¿Lo habías probado?</description>
		<content:encoded><![CDATA[<p>Mmm&#8230; ¿Seguro? Estoy probando en hacer lo que dices: dejar el setSprite intacto y setear el blend en el init.</p>
<p>Lamentablemente, me aparece la imagen en blanco.</p>
<p>¿Lo habías probado?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: neofar</title>
		<link>http://idev.ofcode.com/sprites-en-opengl/comment-page-1/#comment-15</link>
		<dc:creator>neofar</dc:creator>
		<pubDate>Fri, 27 Mar 2009 10:58:21 +0000</pubDate>
		<guid isPermaLink="false">http://idev.ofcode.com/?p=33#comment-15</guid>
		<description>Cierto, pero no es necesario meterlo en el setSprite, estos 3 parámetros son generales y basta con activarlos una vez, sería mejor añadirlos en nuestro metodo &#039;inicializar&#039;

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);

Luego ya si interesa el blend lo puedes activar o no, pero la blendFuncion es raro que se tenga que cambiar sobre la marcha</description>
		<content:encoded><![CDATA[<p>Cierto, pero no es necesario meterlo en el setSprite, estos 3 parámetros son generales y basta con activarlos una vez, sería mejor añadirlos en nuestro metodo &#8216;inicializar&#8217;</p>
<p>glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);<br />
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);<br />
glEnable(GL_BLEND);</p>
<p>Luego ya si interesa el blend lo puedes activar o no, pero la blendFuncion es raro que se tenga que cambiar sobre la marcha</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nitz</title>
		<link>http://idev.ofcode.com/sprites-en-opengl/comment-page-1/#comment-13</link>
		<dc:creator>Nitz</dc:creator>
		<pubDate>Wed, 25 Mar 2009 00:22:13 +0000</pubDate>
		<guid isPermaLink="false">http://idev.ofcode.com/?p=33#comment-13</guid>
		<description>Vale, creo que ya he encontrado el error.

Lo que pasa es que no habilitas el GL_BLEND en tu método &quot;setSprite&quot;.

Aquí traigo un apaño:
+ (void)setSprite:(GLuint)texture frame:(int)frame
{
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	glEnable(GL_TEXTURE_2D);
	glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
	glEnable(GL_BLEND);
	glBindTexture(GL_TEXTURE_2D, texture);
	
	GLfloat x1 = (frame % 2) / 2.0f;
	GLfloat y1 = (frame / 2) / 2.0f;
	GLfloat x2 = x1 + 0.5f;
	GLfloat y2 = y1 + 0.5f;	
	
	// preparamos el array con las coordenadas de la textyra
	spriteTexcoords[0] = x1; spriteTexcoords[1] = y1;	
	spriteTexcoords[2] = x2; spriteTexcoords[3] = y1;
	spriteTexcoords[4] = x2; spriteTexcoords[5] = y2;
	spriteTexcoords[6] = x1; spriteTexcoords[7] = y2;
}

Saludos y gracias por el tuto ;)</description>
		<content:encoded><![CDATA[<p>Vale, creo que ya he encontrado el error.</p>
<p>Lo que pasa es que no habilitas el GL_BLEND en tu método &#8220;setSprite&#8221;.</p>
<p>Aquí traigo un apaño:<br />
+ (void)setSprite:(GLuint)texture frame:(int)frame<br />
{<br />
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);<br />
	glEnable(GL_TEXTURE_2D);<br />
	glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);<br />
	glEnable(GL_BLEND);<br />
	glBindTexture(GL_TEXTURE_2D, texture);</p>
<p>	GLfloat x1 = (frame % 2) / 2.0f;<br />
	GLfloat y1 = (frame / 2) / 2.0f;<br />
	GLfloat x2 = x1 + 0.5f;<br />
	GLfloat y2 = y1 + 0.5f;	</p>
<p>	// preparamos el array con las coordenadas de la textyra<br />
	spriteTexcoords[0] = x1; spriteTexcoords[1] = y1;<br />
	spriteTexcoords[2] = x2; spriteTexcoords[3] = y1;<br />
	spriteTexcoords[4] = x2; spriteTexcoords[5] = y2;<br />
	spriteTexcoords[6] = x1; spriteTexcoords[7] = y2;<br />
}</p>
<p>Saludos y gracias por el tuto <img src='http://www.ofcode.com/idev/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nitz</title>
		<link>http://idev.ofcode.com/sprites-en-opengl/comment-page-1/#comment-12</link>
		<dc:creator>Nitz</dc:creator>
		<pubDate>Tue, 24 Mar 2009 23:17:17 +0000</pubDate>
		<guid isPermaLink="false">http://idev.ofcode.com/?p=33#comment-12</guid>
		<description>Buenas, muchas gracias por el tuto, era justo lo que buscaba.

Pero me ocurre lo mismo que a @atdcr, me aparece un cuadro en blanco (usando la primera implementación de drawView).

El código es clavado al que tienes (copy paste vamos). Me salen dos warnings, diciéndome que no estoy pasando un tipo de variable correcto al hacer:

spriteImage = [UIImage imageNamed:cadena].CGImage;

y

textureid = [GL loadTexture:@&quot;4Sprites.png&quot;];

¿Alguna idea? ¿Puedes subir el zip please?

Saludos :P</description>
		<content:encoded><![CDATA[<p>Buenas, muchas gracias por el tuto, era justo lo que buscaba.</p>
<p>Pero me ocurre lo mismo que a @atdcr, me aparece un cuadro en blanco (usando la primera implementación de drawView).</p>
<p>El código es clavado al que tienes (copy paste vamos). Me salen dos warnings, diciéndome que no estoy pasando un tipo de variable correcto al hacer:</p>
<p>spriteImage = [UIImage imageNamed:cadena].CGImage;</p>
<p>y</p>
<p>textureid = [GL loadTexture:@"4Sprites.png"];</p>
<p>¿Alguna idea? ¿Puedes subir el zip please?</p>
<p>Saludos <img src='http://www.ofcode.com/idev/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: neofar</title>
		<link>http://idev.ofcode.com/sprites-en-opengl/comment-page-1/#comment-11</link>
		<dc:creator>neofar</dc:creator>
		<pubDate>Mon, 16 Mar 2009 09:04:36 +0000</pubDate>
		<guid isPermaLink="false">http://idev.ofcode.com/?p=33#comment-11</guid>
		<description>Bueno ... algo es algo, si no te aparecen las imágenes solo puede ser por 2 razones .... o no se ha cargado la textura, o no se ha activado al enviar un sprite. 

Supongo que la primera causa la tendrás mas que comprobada ...  si la textura se ha cargado correctamente textureId debería valer 1 (ya que es el indice de la textura dentro del entorno GL) si vale cualquier otra cosa es que no ha podido cargar la textura. 

Y por otro lado asegurate que no te has comido las lineas que activan la textura:

    glEnable(GL_TEXTURE_2D);
    glBindTexture(GL_TEXTURE_2D, texture);

La primera linea activa las texturas, le dice al OpenGL que vamos a usar una textura (en la siguiente linea le decimos que textura vamos a usar)
... de todos modos ... venga vale, te subiré el ejemplo</description>
		<content:encoded><![CDATA[<p>Bueno &#8230; algo es algo, si no te aparecen las imágenes solo puede ser por 2 razones &#8230;. o no se ha cargado la textura, o no se ha activado al enviar un sprite. </p>
<p>Supongo que la primera causa la tendrás mas que comprobada &#8230;  si la textura se ha cargado correctamente textureId debería valer 1 (ya que es el indice de la textura dentro del entorno GL) si vale cualquier otra cosa es que no ha podido cargar la textura. </p>
<p>Y por otro lado asegurate que no te has comido las lineas que activan la textura:</p>
<p>    glEnable(GL_TEXTURE_2D);<br />
    glBindTexture(GL_TEXTURE_2D, texture);</p>
<p>La primera linea activa las texturas, le dice al OpenGL que vamos a usar una textura (en la siguiente linea le decimos que textura vamos a usar)<br />
&#8230; de todos modos &#8230; venga vale, te subiré el ejemplo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: atdcr</title>
		<link>http://idev.ofcode.com/sprites-en-opengl/comment-page-1/#comment-10</link>
		<dc:creator>atdcr</dc:creator>
		<pubDate>Sat, 14 Mar 2009 13:12:27 +0000</pubDate>
		<guid isPermaLink="false">http://idev.ofcode.com/?p=33#comment-10</guid>
		<description>Justo estaba buscando este tipo de tutorial pero tengo un problema y es que las texturas no las carga, solo me sale en pantalla 4 cuadros blancos sin las imagenes, no podrias poner un zip con tu solucion para ver que hice mal.  Gracias.</description>
		<content:encoded><![CDATA[<p>Justo estaba buscando este tipo de tutorial pero tengo un problema y es que las texturas no las carga, solo me sale en pantalla 4 cuadros blancos sin las imagenes, no podrias poner un zip con tu solucion para ver que hice mal.  Gracias.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: n3wrotyk</title>
		<link>http://idev.ofcode.com/sprites-en-opengl/comment-page-1/#comment-7</link>
		<dc:creator>n3wrotyk</dc:creator>
		<pubDate>Tue, 13 Jan 2009 10:36:28 +0000</pubDate>
		<guid isPermaLink="false">http://idev.ofcode.com/?p=33#comment-7</guid>
		<description>Se agradece este tipo de tutoriales, la verdad es que la info sobre iphone es abrumadora y tener un programilla para poder encarar el desarrollo siempre viene bien :-p.</description>
		<content:encoded><![CDATA[<p>Se agradece este tipo de tutoriales, la verdad es que la info sobre iphone es abrumadora y tener un programilla para poder encarar el desarrollo siempre viene bien :-p.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
