Video por xymind.
Preguntando por el red – Constantes vs #define en C/C++
Muchas programadores usan mucho los #defines. Pero hasta hace poco no se me ha hacía muy buena idea usarlos.
Esto es debido a que algunas veces están mal ubicados en alguna cabecera y al momento de querer modificar algunas de estas constantes, fastidiaba el tiempo de compilación debido a que si esta cabecera estaba incluida en varios archivos .cpp o incluso otras cabeceras. Esto provoca recompilar archivos que a lo mejor no venían al caso con la modificación que hiciste.
Entonces, cuál es la ventaja del #define? Decidí quitarme la duda en los foros de discusión de CodeProject. También exprese mi opinión que es mejor usar una clase a la cual se acedan constantes estáticas publicas. Un tipo prácticamente contesto
Esto es taaaaaaan…. de los 90’s, el guru de mi compañía ha dicho que siempre hay que usar defines para salvar memoria. Ahora lo comprendemos mejor.
Esa era mi espinita; la memoria. Debo de decir que estoy de acuerdo con él. En tiempos como estos, hay que ahorrar espacio en memoria, sobre todo en dispositivos portátiles. Sin embargo, esta el problema de los tiempos de compilación.
Mi conclusión sobre este tema es; hay que distribuir bien los #defines (ya sean constantes o macros). De preferencia hacer esta inclusión en los archivos que se van a usar en el mismo .cpp.
Notas Rápidas – OpenGL ES. Introducción Parte 4
Fragment Shader
El Fragment Shader implementa los metodos programables de proposito general para operar los fragmentos salidos de la etapa de rasterizacion. Los tipos de entrada que maneja son:
Variables de diversidad (varying). Las salidas del vertex shader que son generadas por la unidad de rasterización por cada fragmento usando la interpolacion.
Uniformes (uniform). Datos constantes usados por los fragment shaders.
Muestreos (samplers). Un tipo especifico de uniformes que representa la texturas por el fragment shader.
Programa de Shader. Es el código fuente o ejecutable que describe las operaciones que sera ejecutado por sobre el fragmento,
El fragment shader puede ya que descarte el fragmento o genere un color referenciado como gl_FragColor. El color, la profundidad y locacion de coordenadas en pantalla (Xw, Yw) generada por la rasterización convierte las entradas para la etapa de operaciones por fragmento del pipeline de OpenGL ES 2.0.
El siguiente ejemplo de Fragment Shader puede ser acoplado con el Vertex Shader del ejemplo anterior para el dibujado de un triángulo de un sombreado Gouraud.
Un pequeño ejemplo de un Fragment Shader
precision medium float; varying vec4 v_color; //Entrada del color del vertice desde el Vertex Shader void main(void) { gl_FragColor = v_color; //Aqui se le pasa el valor del color a cada vertice }
Notas Rápidas – OpenGL ES. Introducción Parte 3
Rasterización
Es la fase donde el primitivo apropiado (point-sprite, línea, o triángulo) es dibujado. Es el proceso donde convierte los primitivos en un conjunto de fragmentos de dos dimensiones, las cuales son procesadas por el Fragment Shader.
Estos fragmentos de dos dimensiones representan los pixeles que pueden ser dibujados en pantalla.
Terminado la 1era. parte del Curso de Android
Acabo de terminar la primera parte del curso de Android de la Universidad de Meryland. En este curso aprendi sobre…
GODOT: Motor de video juegos
El motor GODOT tiene herramientas y empaquetados para juego de multi-plataformas en 2D y 3D. En la descripción de su pagina web, provee un conjunto de herramientas, para que puedas enfocarte en la creación de tu juego en lugar de “reinventar la rueda”.
Curso de Android básico
Les recomiendo este curso básico de Android. Empieza el 7 de enero. Esta divido en dos partes. La 2da. parte empieza 9 de febrero.
Vale la pena. Hay vídeo tutoriales, ejemplos, exámenes, ejercicios/laboratorios.
Pueden cursarlo de manera gratuita. Pero si quieren tener una certificación virtual de la Universidad de Maryland hay que pagar una cantidad de $650.00 Pesos MX.