tag:blogger.com,1999:blog-3782080461998361152024-02-19T03:39:45.079-08:00JAMolineroEscritor debutante. Artista 3D autodidacta.Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.comBlogger64125tag:blogger.com,1999:blog-378208046199836115.post-16337976826162322232016-01-20T13:42:00.004-08:002016-01-20T13:42:52.261-08:00El testigo<span style="background-color: white; color: #141823; font-family: helvetica, arial, sans-serif; font-size: 14px; line-height: 21.4667px;">Ah infame Internet. Cuán indiferente te resultará este render. Tú que eres testigo de las mayores obras de arte, en universo consumista de imágenes, a razón de un click cada 3 segundos. Sé que lo ignorarás, para tí indiferente, pero para mí este es el testigo de mi proceso, pues lego aquí la demostración de mi escultura, retopologizado, desajuste de UVs, texturado, y renderizado de hebras. Esto me servirá para recordarme lo que otrora consideraba inalcanzable y ahora me resul</span><span class="text_exposed_show" style="background-color: white; color: #141823; display: inline; font-family: helvetica, arial, sans-serif; font-size: 14px; line-height: 21.4667px;">ta cotidiano, y también para los momentos de desesperación, en los que se me haya olvidado que lo que realmente importa en el proceso de conversión en artista, no es el resultado, sino el aprendizaje. No te preocupes implacable bestia. A partir de aquí solo la práctica me separa de los mejores. Pronto te suministraré una plétora de imágenes de la que nutrirte para satisfacer tu gula inconsciente.</span><br />
<span class="text_exposed_show" style="background-color: white; color: #141823; display: inline; font-family: helvetica, arial, sans-serif; font-size: 14px; line-height: 21.4667px;"><br /></span>
<span class="text_exposed_show" style="background-color: white; color: #141823; display: inline; font-family: helvetica, arial, sans-serif; font-size: 14px; line-height: 21.4667px;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij3Dlf-XK6Vsp9YSXRZVu6ftMwvfC_dY_I8XHsKnfc7ci4zZTwjnCsZwSboUOxaH23QxnVvPZ1mEj3nSJc_G1ZehKYjb_RPMf0iW-keoQfw0vJ1JrQAqs1U_qNrmBshVzaKTasRrZCAC4D/s1600/retopo_test_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij3Dlf-XK6Vsp9YSXRZVu6ftMwvfC_dY_I8XHsKnfc7ci4zZTwjnCsZwSboUOxaH23QxnVvPZ1mEj3nSJc_G1ZehKYjb_RPMf0iW-keoQfw0vJ1JrQAqs1U_qNrmBshVzaKTasRrZCAC4D/s320/retopo_test_2.jpg" width="240" /></a></div>
<span class="text_exposed_show" style="background-color: white; color: #141823; display: inline; font-family: helvetica, arial, sans-serif; font-size: 14px; line-height: 21.4667px;"><br /></span>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-82038583050334787382015-04-06T11:23:00.001-07:002015-04-06T11:23:10.029-07:00Primeros test de escultura digital.<span style="font-family: Arial, Helvetica, sans-serif;">Después de estar 2 meses probando las herramientas de escultura de blender, ya puedo decir que esculpir me resulta tan fácil como dibujar (ver 2 vídeos más abajo).</span><div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Estos diseños no contemplan más que la etapa de modelado grueso, y no me han tomado más de media hora cada uno. </span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNN0FS4EHyvzKezS-ngqS6PXM__QqAuw2jW3QItLYNNHJc99cqUFrOKtnF9zfu19gyQTFKEso40C-AbNmd4Ohi678ZJly_3wbN5WFY3RohGOe7Bpfg_M_USz2Lg5xOJ8cd_1m_E9ExAXoe/s1600/arm.jpe" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNN0FS4EHyvzKezS-ngqS6PXM__QqAuw2jW3QItLYNNHJc99cqUFrOKtnF9zfu19gyQTFKEso40C-AbNmd4Ohi678ZJly_3wbN5WFY3RohGOe7Bpfg_M_USz2Lg5xOJ8cd_1m_E9ExAXoe/s1600/arm.jpe" height="193" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2q1qupCAFrMvwnA3AcH6MadJ6hqe_JMF0ZMxPdDiwC9iWnD2Q883yg7qudaOEqBdnFqvqY-hFQv3AMXYmI7b_XVvtxMWPl86G2uWHm_n8Ev-6NSBGM19dsDBKtYWRZaZSgrHt5H6cDm__/s1600/face.jpe" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2q1qupCAFrMvwnA3AcH6MadJ6hqe_JMF0ZMxPdDiwC9iWnD2Q883yg7qudaOEqBdnFqvqY-hFQv3AMXYmI7b_XVvtxMWPl86G2uWHm_n8Ev-6NSBGM19dsDBKtYWRZaZSgrHt5H6cDm__/s1600/face.jpe" height="239" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;">Este es el 4º intento de cabeza humana. Los 3 primeros estaban muy mal...</span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtECzebwSr4soujjQ412dbdTP6eUA3xNT59kHOeze_4k7v7NpsmlWoZfv4hr6tZGQjjjRR3H9QYrfzKHmMMFCoaJlqNd9D7UMGa4rBuie3nVvI-ZTszDSwftn0PhTVhO-QHK9Oxb3e1fk_/s1600/torso.jpe" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtECzebwSr4soujjQ412dbdTP6eUA3xNT59kHOeze_4k7v7NpsmlWoZfv4hr6tZGQjjjRR3H9QYrfzKHmMMFCoaJlqNd9D7UMGa4rBuie3nVvI-ZTszDSwftn0PhTVhO-QHK9Oxb3e1fk_/s1600/torso.jpe" height="222" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif; text-align: start;">A partir de aquí, bastaría con hacer zoom y contornear detalles finos.</span></div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-86061400714670633802015-03-16T16:48:00.001-07:002015-03-16T16:51:01.422-07:00Estas son mis primeras prácticas de animacion!!Hace tiempo que no posteo nada. Incluso mis últimos videotutoriales basados en el motor del unreal 4 y en el blender game engine ni siquiera los había referenciado aqui (están en mi canal de youtube), más que nada, por vagancia.<br />
<br />
Pero me alegra hacer esta entrada para dejar puesto que, por primera vez en mi vida, por fín estoy practicando el arte de la animación!!<br />
<br />
Estas son mis primeras pruebas con un personaje humanoide completo. Las he repasado muy poco y están hechas con bastantes prisas. Me ha servido solo para hacerme a los atajos de teclado y a la rutina de trabajo, pero aun así en la última de todas ya se aprecia que sé lo que estoy haciendo!!!<br />
<br />
(El programa de grabación de pantalla las ha hecho mas lentas de lo que son en realidad)<br />
<br />
Debo practicar maaaaaaaas!!!!!<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="270" src="https://www.youtube.com/embed/B6XIllI-uYs" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-72393336650468489192015-01-16T08:43:00.001-08:002015-01-16T08:43:46.811-08:00blender: esculpir no, dibujar en 3d<iframe allowfullscreen="" frameborder="0" height="270" src="https://www.youtube.com/embed/coJLJ3-MBXw" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-55660020705379390982014-11-30T16:59:00.002-08:002014-12-01T02:17:40.324-08:00El aprendizaje termina. La práctica comienza.<span style="font-family: Arial, Helvetica, sans-serif;">Tras 8 meses, vuelvo a dejar balance todo este año de 3d y voy a hacer propósito para año nuevo. Voy a dejar </span><span style="font-family: Arial, Helvetica, sans-serif;">una pequeña lista de cosas aquí.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Ahora tengo una enorme visión global de todas las tareas necesarias en el 3d. Las conozco todas, pero no he </span><span style="font-family: Arial, Helvetica, sans-serif;">demostrado prácticas en ninguna. Es hora de dejar de aprender y empezar a practicar lo que ya sé.</span><br />
<br />
<br />
<a name='more'></a><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">-Esculpido: Tengo un conocimiento básico y así se va a quedar. No voy a dedicarme a esculpir. No me gusta el </span><span style="font-family: Arial, Helvetica, sans-serif;">workflow de esculpir un personaje y tener que retopologizarlo después con modelado de vértices. Prefiero </span><span style="font-family: Arial, Helvetica, sans-serif;">modelarlo directamente con modelado de vértices, y que salga ya con topología correcta desde el principio. No </span><span style="font-family: Arial, Helvetica, sans-serif;">me gusta que los modelos esculpídos no puedan ser animados precisamente por esto, y se queden estáticos para </span><span style="font-family: Arial, Helvetica, sans-serif;">siempre. Y cuando requiera el alto nivel de detalle que solo la escultura pueda darme, prefiero simularla con </span><span style="font-family: Arial, Helvetica, sans-serif;">mapas de bump, o de normales, pintando mapas. Así te ahorras polígonos y memoria. Pero conozco las </span><span style="font-family: Arial, Helvetica, sans-serif;">herramientas perfectamente. Me gusta pensar que el día que quiera hacer una escultura, podría hacerla.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">-Modelado: Tengo un conocimiento intermedio-alto. Sacar modelos en 3d mediante el movimiento de vertices es mi </span><span style="font-family: Arial, Helvetica, sans-serif;">actividad preferida. No solo conozco todas las herramientas sino que además conozco la correcta topología de </span><span style="font-family: Arial, Helvetica, sans-serif;">la cara y el cuerpo humano (quiero especializarme en personajes). Tengo que perfeccionarlo aun más. De lunes a </span><span style="font-family: Arial, Helvetica, sans-serif;">miércoles entrenaremos varias horas.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">-Texturado: Tengo un conocimiento intermedio. Por supuesto, domino el desajuste de uvs, especialmente para </span><span style="font-family: Arial, Helvetica, sans-serif;">personajes. Ha sido un desafío pasar de photoshop a 2 programas nuevos y diferentes: gimp y krita, sobre todo </span><span style="font-family: Arial, Helvetica, sans-serif;">este último, diferente a todo y especializado en el arte. Por si fuera poco, tambien ha sido totalmente nuevo </span><span style="font-family: Arial, Helvetica, sans-serif;">el aprender a pintar directamente en el modelo 3d, teniendo que saber la distribución de materiales en los 2 </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">renderizadores posibles. (blender render, para trabajar con el pintado de texturas en los visores y cycles, ya </span><span style="font-family: Arial, Helvetica, sans-serif;">para renderizar). Hay que perfeccionarlo. Necesitaría mejorar conocimientos específicos para renderizar </span><span style="font-family: Arial, Helvetica, sans-serif;">materiales. Entrenaremos los jueves y viernes.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">-Rigging: Tengo un conocimiento intermedio-avanzado. He estudiado riggings muy avanzados de cuerpos humanos y </span><span style="font-family: Arial, Helvetica, sans-serif;">de animacion facial, pero con poca aplicación práctica. Sé la teoria para crear riggings de animación facial </span><span style="font-family: Arial, Helvetica, sans-serif;">con claves de forma (shape keys), manejada por huesos. Se crear cadenas que alternan cinemática directa e </span><span style="font-family: Arial, Helvetica, sans-serif;">inversa. Se crear espinas inversas con pivotes deslizantes. Se añadir drivers de movimiento, y crear mallas de </span><span style="font-family: Arial, Helvetica, sans-serif;">deformacion general y alternadores de manejo de hombros. Se riggear de esta forma un cuerpo humano en cabeza, </span><span style="font-family: Arial, Helvetica, sans-serif;">tronco y extremidades, y se crear un rigging de cara para expresiones faciales...pero son tantisimas cosas que </span><span style="font-family: Arial, Helvetica, sans-serif;">se me van a olvidar. Hacer 20 minutos al día de lunes a viernes para que no se me olvide. Alternar un tema </span><span style="font-family: Arial, Helvetica, sans-serif;">cada semana.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">-Animación: Tengo un conocimiento básico. Conozco la teoria de manejo de todos los editores, y sé animar con </span><span style="font-family: Arial, Helvetica, sans-serif;">mal resultado. Lo único que me distancia de animar bien son cientos de horas de prácticas. Dejarlo para más a</span><span style="font-family: Arial, Helvetica, sans-serif;">delante. Repasar todos los dias 20 minutos por las noches para no olvidar el manejo básico de los editores </span><span style="font-family: Arial, Helvetica, sans-serif;">(al menos el dope sheet y el timeline).</span><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">-Renderizado: Tengo un conocimiento básico. Aun no hay mucho para renderizar. Tengo conocimientos teóricos de </span><span style="font-family: Arial, Helvetica, sans-serif;">leyes generales de composición y teoría del color. Dejar para más adelante. De todas formas, con el </span><span style="font-family: Arial, Helvetica, sans-serif;">renderizador de blender, sabiendo poco, salen cosas wapas.</span><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">Fines de semana hacer prueba de resistencia:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Hacer un personaje básico completo (nada de florituras):</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Estar todo el sabado modelando, todo el domingo texturando y al final aplicar un rigging, de animación </span><span style="font-family: Arial, Helvetica, sans-serif;">corporal básico y facial. Echar un render.</span>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-48062257529530515642014-11-28T02:46:00.000-08:002014-11-29T04:18:26.299-08:00Estos son los 4 editores que hay que saber manejar para animar.<span style="font-family: Arial, Helvetica, sans-serif;">Me he comprado algo de formación en animación.</span><br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Cuando hice algunas pruebas en 3ds max hace muchísimo tiempo, usé solamente la línea de tiempo y keyframes básicos. Y llegué a leer sobre los otros editores de animación (comunes a todos los programas 3d): el dope sheet, el non linear editor, el curve editor (en blender se llama graph editor)...sin llegar a manejarlos nunca ni a entenderlos.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Gracias a este nuevo entrenamiento por fín puedo decir que sé cual es el papel de cada uno.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhafVSaXasaVooEZVVH0pm7I6ZTyOwFEUS8DZ5Xrod21aulSpiIDaOY9Vl6sy8-KySAYNa9K18pBSqKkX1phObhJ6q0BoctPDnK-Gu8BcrJynfMeAfI6CG7_As6O3mVhvsdDO4x4n49Lf3P/s1600/editors.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhafVSaXasaVooEZVVH0pm7I6ZTyOwFEUS8DZ5Xrod21aulSpiIDaOY9Vl6sy8-KySAYNa9K18pBSqKkX1phObhJ6q0BoctPDnK-Gu8BcrJynfMeAfI6CG7_As6O3mVhvsdDO4x4n49Lf3P/s1600/editors.bmp" height="320" width="127" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<a name='more'></a><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">-Timeline: Es la línea de tiempo principal. Se pueden colocar y borrar keyframes. En algunos programas de 3d, (en blender no), se pueden hasta mover frames de sitio para ajustar animaciones.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Está bien para crear animaciones básicas, pero al presentar una única linea de información sin nombres, servirá de poco a quien quiera hacer animaciones complejas. </span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhliMvSjLZnBzPWkpwjyzX5lj2zCNFhMqaBI1Wbq03M1pZ4oJwuJMX4LVAqq2wBqEjbcRS91g9EfHksaUhmaqyhV52t3er9qeSVN6bKEqouYja0DDneCEegiUp3T3Xx_F2IrKNWtsQgVgoK/s1600/timeline.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhliMvSjLZnBzPWkpwjyzX5lj2zCNFhMqaBI1Wbq03M1pZ4oJwuJMX4LVAqq2wBqEjbcRS91g9EfHksaUhmaqyhV52t3er9qeSVN6bKEqouYja0DDneCEegiUp3T3Xx_F2IrKNWtsQgVgoK/s1600/timeline.bmp" height="35" width="400" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">A pesar de lo básico que resulta, en este panel también aparecen importantes opciones que al seleccionarlas, afectan a los demás editores:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">La línea que pone no sync es para sincronizar audio y video (hay que pasarla a av sync).</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">El boton rojo es para que se ponga en marcha la autocreación de keyframes, cada vez que se detecta movimiento en el objeto en un momento del tiempo distinto (en vez de tener que pulsar la tecla i)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">El cuadro de texto a la derecha permite seleccionar grupos de keyframes. Por ejemplo, si seleccionamos un hueso que queramos animar, y</span><span style="font-family: Arial, Helvetica, sans-serif;"> no se tiene seleccionado nada en ese cuadro al crear un keyframe, blender preguntará de qué tipo lo queremos</span><span style="font-family: Arial, Helvetica, sans-serif;">. Si en el cuadro buscamos LocRot, y creamos un keyframe, ya no se nos preguntará nada, sino que se crearán keyframes solo de localización y rotación. . </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">En ese mismo cuadro podemos buscar una útil opción llamada whole character. Si se selecciona, al crear frames, se crearan frames de localización, rotación y escalado en TODOS los huesos de un personaje. Previamente en el personaje no hay que especificar nada. El asignador intenta coger "armaduras" (set de huesos) enteros.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Los controles de reproducción se explican solos.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">-Dope sheet: No es más que una timeline a lo bestia. Está dividida en 2 secciones. La de la izquierda del todo muestra una columna en la que de arriba a abajo, se muestran todos los objetos y subobjetos de la escena, y a la derecha, una linea de tiempo para cada uno con información de los keyframes. (En blender los keyframes se mueven aquí). El dopesheet viene de la animación tradicional de los años 20. Era la hoja de papel en la que los animadores esquematizaban animaciones de forma precisa.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZvED8xcE_6Skv5XoWze7H5KfINhivGiRPzizKA0MzoE0_m7f3CgiMyEVC6ZizjpLTzqTf0LVyeFgPPWEJagtan6LE6DTZT3QIG5YTLsuQlU-7DV1c1QvMSh6eY3YTNltCcG5_cYb2_E-b/s1600/dope+sheet.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZvED8xcE_6Skv5XoWze7H5KfINhivGiRPzizKA0MzoE0_m7f3CgiMyEVC6ZizjpLTzqTf0LVyeFgPPWEJagtan6LE6DTZT3QIG5YTLsuQlU-7DV1c1QvMSh6eY3YTNltCcG5_cYb2_E-b/s1600/dope+sheet.bmp" height="21" width="400" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">En la parte inferior hay una útil opcion llamada "summary". Esta opcion permite crear una linea adicional de frames arriba del todo llamada "dopesheet summary", y al cogerlos, se cogen todos los frames de la misma columna a la vez. </span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">-Action editor: Desconozco si la tienen otros programas 3d. (teoricamente si). En blender es una subvariante del dopesheet, con algunas opciones complementarias. En estas opciones se crean "listas de animaciones". Es aquí donde se crean secuencias para guardarlas, y cargarlas, o traspasarlas de un personaje a otro. En este editor y el anterior es donde se hace todo el trabajo de verdad.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf5SWymms7SUPGHE_cUbj0AeCJbz7X1kul3DDGjUjBzN1Zp-hypHGYOF44EC53IPtnKduYROoIBzztFrADO44eVzRnTlUXHZg6cPxVAKAp9V-yzgcAcowQqwOntGMRDCCOzlFoEGrGBBWm/s1600/action+editor.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf5SWymms7SUPGHE_cUbj0AeCJbz7X1kul3DDGjUjBzN1Zp-hypHGYOF44EC53IPtnKduYROoIBzztFrADO44eVzRnTlUXHZg6cPxVAKAp9V-yzgcAcowQqwOntGMRDCCOzlFoEGrGBBWm/s1600/action+editor.bmp" height="16" width="400" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Al igual que su hermano gemelo, este editor contiene multiples opciones para filtrar y ver solo los frames que interesan.</span></div>
<div>
<br />
<br />
<br /></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">-Graph editor: Es un editor de curvas en el que aparecen las secuencias de animación. Las curvas controlan la velocidad de las animaciones, y como se pasa de una a la siguiente. En este editor se hace el trabajo de refinamiento. Por ejemplo, para ajustar cuando un objeto va de izquierda a derecha podríamos poner una curva lineal, y su velocidad sería constante, o podría ajustarse de forma que el objeto empiece despacio y acabe rápido, o empiece rápido y acabe despacio. Las curvas afectan el movimiento del objeto animado directamente. A lo mejor piensas, si puedo mover el objeto directamente, ¿por qué voy a ajustar su movimiento o rotación a traves de un grafico de curvas?...La respuesta es que viendo esa curva se refina algo ya previamente animado. La curva te ayuda a refinar algo ya hecho, pero controlando de donde viene y a donde va, de forma que quede mejor.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6RrefMX1-oA-RaGiXgkhyhAN4WEoxT0zysicKq5Ot2GETVGzpYLauoniCV88ZVtGYOEGCXFkXHVMoTG4QRVBBve12xMkHHc_d-i0GJ9oHY2bSIRjm6WsJs0QlWLwJu2yj1vSjD-KF2vfw/s1600/graph+editor.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6RrefMX1-oA-RaGiXgkhyhAN4WEoxT0zysicKq5Ot2GETVGzpYLauoniCV88ZVtGYOEGCXFkXHVMoTG4QRVBBve12xMkHHc_d-i0GJ9oHY2bSIRjm6WsJs0QlWLwJu2yj1vSjD-KF2vfw/s1600/graph+editor.bmp" height="21" width="400" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">-Non linear animation editor: Es un montador de secuencias completas. Se parece al Video Secuence Editor, pero en vez de editar archivos de video, edita secuencias con información de animacion (sacadas del action editor). Así se pueden concatenar secuencias de animaciones largas, y producir grandes tomas.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidtLDP-UYClasmHjbPChVwaI798JfyGQsyPkep2-HypsMm2nHezbziZkS_pMM9aPKKMmx5B7SSCgLGFTc972L-hlt65yazzbNgk6htXug4H_ei1jKMLwBm5U5UHSgRammKhsuForJ5m0hf/s1600/non+linear+action.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidtLDP-UYClasmHjbPChVwaI798JfyGQsyPkep2-HypsMm2nHezbziZkS_pMM9aPKKMmx5B7SSCgLGFTc972L-hlt65yazzbNgk6htXug4H_ei1jKMLwBm5U5UHSgRammKhsuForJ5m0hf/s1600/non+linear+action.bmp" height="25" width="400" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Los atajos de teclado a recordar son:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">i: insertar keyframe, cuando se tiene un hueso seleccionado.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">los siguientes atajos de teclado solo funcionan cuando la flecha del ratón esta sobre el editor correspondiente.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">generales:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">p: abre un arco de seleccion para seleccionar en el timeline una subselección de tiempo. De esta forma al ejecutar una animacion, no transcurre a lo largo de todo el tiempo, sino en una pequeña parte de el.</span>
<span style="font-family: Arial, Helvetica, sans-serif;">alt+a: ejecuta o para una animacion</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">shift+flecha izquierda/derecha: mueve el marcador de la linea de tiempo al principio o al final del todo.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">flecha izquierda/derecha: mueve el marcador de la linea de tiempo un frame atrás o adelante en el tiempo.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">flecha arriba/abajo: salta en el tiempo 10 frames adelante o atrás.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">shif+arriba/abajo: salta al siguiente o anterior frame que contenga keyframes.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">graph editor:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">o : limpiar curvas seleccionadas (borra frames inútiles)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">t: con keyframes seleccionados, abre el menú de tipo de interpolación ( tipo de movimiento de un frame a otro). Las clases posibles son : lineal, bezier (curva), o constante (recta)</span></div>
Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-4702687416190130732014-09-27T06:56:00.001-07:002014-09-27T06:56:19.668-07:00Blender apunte: asignar materiales y mapas nodo style vs classic panel s...<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/imk7aGlknls" width="480"></iframe><br />Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-73318404903941970902014-09-14T02:40:00.001-07:002014-09-14T07:25:36.753-07:00Las carencias de Blender como programa de pintado de textura.<span style="font-family: Arial, Helvetica, sans-serif;">Conocía Photoshop. Aprendí Gimp. Aprendí Krita...</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Y sin embargo, lo que más le gustaría a un artista 3d sería no tener que usarlos, y texturar directamente en el programa 3d...Miro en la distancia a <a href="http://www.thefoundry.co.uk/products/mari/">Mari</a>...me resisto...demasiado caro. Miro en la distancia a <a href="http://www.allegorithmic.com/products/substance-painter">substance painter</a>...lo ignoro, no es compatible con Linux...y devuelvo mi atención a Blender...</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Blender mejora su sistema de pintar en texturas en cada versión.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">El último cambio (el que me ha reventado la cabeza), ha mejorado (y cambiado) significativamente el workflow para pintar con capas, y ha añadido un par de herramientas muy útiles (viva el rellenar!! vivan las paletas!!).</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Mientras pasan los años y se convierte en esa herramienta de texturado 3d definitiva, voy a hacer una lista de cúales son las herramientas que YO más hecho de menos, y que son genéricas en otros programas. Al fín al cabo, el estudiarlo con tanto interés me ha hecho conocer sus puntos fuertes...y sus carencias.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<a name='more'></a><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">1º. Quiero una autopaleta. La mayoría de los programas de dibujo generan automáticamente la paleta de colores que vamos usando. En Blender hay que seleccionar el color, y darle a un botón. Muy mal. Tedioso.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">2º. Quiero un acceso directo a los colores Blanco y Negro. Todos los programas de dibujo tienen un sencillo doble icono, para seleccionar estos colores, por ser los más recurrentes. Actualmente, siempre que me hago una paleta los tengo que añadir manualmente a ella.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">3º Quiero una tecla de acceso rápido al borrador. Actualmente borrar es un tipo de Brush. (Erase Alpha). Estaría bien que combinando con una tecla del teclado la pulsación del ratón borráramos, y dejáramos de borrar al soltarla. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">4º Quiero degradad...buen trabajo, ya tenemos degradados.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">5º Necesito que el tamaño del pincel sea relativo al zoom, no dependiente del zoom. No puedo dejar un pincel con 1 pixel de tamaño, y esperar que tenga ese pixel de tamaño, después cambiar el modelo de perspectiva, hacerle un mínimo zoom en un área, y al pintar de nuevo, que el pincel sea de un tamaño diferente...¿Dónde está el tamaño que yo quiero? Se ha perdido si no vuelvo a tener <u>exactamente</u> el mismo zoom que antes. (Es posible que esta característica esté, debo confirmarlo).</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">6º Necesito que cuando guardo un color en una paleta, el color recuerde la opacidad. Selecciono un color y le pongo su opacidad, y lo dejo "como a mi me gusta". Selecciono otro. Le cambio la opacidad. Vuelvo al primer color. La opaciadad también se ha cambiado. ¿Cual tenía? ¿Cómo vuelvo a dejarlo como a mi me gusta? ¿Tengo que aprenderme todas las opacidades de todos mis colores de memoria?.</span><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Y con esto me basta para el día a día, por el momento. </span><span style="font-family: Arial, Helvetica, sans-serif;">Simple eh? ...Quizá mande esto a la lista de correos de sugerencias oficiales de Blender...</span>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-55307145403437990772014-09-14T02:00:00.001-07:002014-09-14T04:33:00.557-07:00Balance de estos 6 meses.<span style="font-family: Arial, Helvetica, sans-serif;">Iniciaba uno de mis primeros posts a mediados del 3º mes de este año con el título "Qué estoy haciendo ahora: el ojo, la cabeza, el hombre...", expresando mi firme deseo de querer hacer los personajes 3D para mi novela. Estamos en el mes 9º. 6 Meses han pasado, así que es un buen momento para recapitular:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">En el momento de iniciar este blog, me planteé dejarlo como testigo de mis aprendizajes 3d, estando en pleno inicio del intento de modelado de una cabeza humana.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Puedo decir que no he parado. Dedico a esto cada segundo de mi tiempo libre, pero como sucede siempre, de cada día tengo que contar medio día, puesto que tengo que afrontar otras obligaciones para poder vivir. Por tanto solo puedo contar 3 meses útiles. Así, esto es lo que sí que puedo contar como aprendido:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<a name='more'></a><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">1º Iniciando mis estudios de modelado<a href="http://jamolinero.blogspot.com.es/2014/03/profundizando-en-el-estudio-del-ojo.html"> intenté aprender lo máximo posible sobre la anatomía del ojo humano</a>, y buscar técnicas para mejor representarlo.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">2º <a href="http://jamolinero.blogspot.com.es/2014/04/en-4-dias-he-descubierto-dos-cosas-que.html">Subí mi nivel como modelador</a>. La herramienta edge crease me enseñó a ahorrarme polígonos en sitios donde no se apreciaban. Polígonos que ahora podré usar en darle detalles a otras cosas. Aun tengo que dar muestras de ese modelado "más inteligente". Me gustaría rehacer los modelos<a href="http://www.warofsaurians.com/index.php/en/ilustraciones-3"> 3D de las armas que hice el año pasado</a>.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">3º <a href="http://jamolinero.blogspot.com.es/2014/03/modelando-con-vistas-la-tecnologia-de.html">Enfoqué todo mi estilo de modelado a las subdivisiones de Pixar</a>, y desarrollé un método un poco particular: Con el fin de ahorrar carga para la CPU, los modelos se ven muy mal sin subdivisiones, y muy bien con ellas. Todo sin tener confirmación de que fueran a ser usadas en Blender aún. Afortunadamente no me equivoqué.<a href="https://www.youtube.com/watch?v=dzIl_S-qHIQ"> Serán añadidas en la v.2.72 o 2.73</a>.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">4º Fundamenté un montón de bases teóricas sobre el funcionamiento de Blender. Mejoré el entendimiento del programa en varias á</span><span style="font-family: Arial, Helvetica, sans-serif;">reas.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">5º Estudié de varias fuentes la <a href="https://www.youtube.com/playlist?list=PLKFbfWqR5znNWJd_d6wpJ1j_HxQmrxSuS">topología correcta para el modelado de la cabeza humana</a>. Finalmente tengo un método propio basado en el modelado de cajas, y ahora forma parte de mi "metodo base". </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">6º<a href="http://jamolinero.blogspot.com.es/2014/05/asimilando-nuevas-tecnicas.html"> Desarrollé un enfoque para afrontar el texturado en programas de pintado 2d</a>. Analicé el workflow </span><span style="font-family: Arial, Helvetica, sans-serif;">tradicional, y miré al futuro. No estaría bien simplemente repetir lo que se ha hecho siempre, "porque sí".</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">7º <a href="https://www.youtube.com/watch?v=BAnfnpMQ4jU">Me metí entre pecho y espalda un curso acelerado de Krita</a>.(No estamos para perder el tiempo). No lo dije explicitamente en ningún post, pero de buenas a primeras empecé a hacer algunos vídeos con prácticas de Krita.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">8º <a href="http://jamolinero.blogspot.com.es/2014/05/estudio-para-la-representacion-de-la.html">Hice un estudio (aun sin aplicar) para la representación de la piel humana</a>. El estudio solo contempla los mapas de color y relieve. Nada de iluminación y/o dispersión de la luz. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">9º<a href="https://www.youtube.com/playlist?list=PLKFbfWqR5znOOaMy_pRfymJ6DDNBykEZI"> Perfeccioné el método de pintar texturas directamente sobre 3d en Blender</a>, con mapas de relieve y de color. 2 Veces. En mis vídeos insisto mucho cuánto me ha costado aprender a hacerlo antes y después del cambio que se ha visto en la versión 2.71. Aprendí la organizacion de materiales y mapas con el Blender Render. Antes solo usaba Cycles.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">10º <a href="https://www.youtube.com/playlist?list=PLKFbfWqR5znMaHWRn8aTW3_isIlQ8DGkf">He dado un cursillo acelerado de rigging</a>, con fundamentos bastante avanzados: Drivers, contraanimación, controladores euler, deformaciones de malla básicas, cadenas de huesos híbridas de cinemática directa e inversa, y áreas personalizadas. No está nada mal, teniendo en cuenta que al empezar no sabía nada.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">11º <a href="https://www.youtube.com/watch?v=hQTLjZHoajE&index=19&list=PLKFbfWqR5znNclTRrrtdCh7Oo1xPkNq6Y">He empezado a mirar la correcta topología del torso humano</a>.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Como prueba de todo esto quedan mis artículos y los más de 40 vídeos que ya tengo en mi canal de youtube, PERO...en lo que respecta al arte, a</span><span style="font-family: Arial, Helvetica, sans-serif;">un no tengo nada que enseñar.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Conclusión: Cuando empecé este blog sabía modelar decentemente, pero me faltaba experiencia. Ahora tengo experiencia en modelado, y también conozco el texturado y el rigging. Ahora soy un artista mucho más completo. Mis días se resumen en las 3 cosas: 1 para modelado, 1 para texturado, y 1 para riggign (y repetir, siempre repetir). Sin embargo, el tener que aprender programas complementarios (Krita), o que me cambien los botones de sitio (pintar texturas post Blender 2.71), unido a que no tengo más que medio dia para practicar, me hace no poder centrarme en el arte. Solo en el programa. Esto ha propiciado el hecho de que aún no tenga la cabeza humana realizada. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">El desafío no consistía en hacer una cabeza copiando "el primer videotutorial que me encontrara en internet", sino convertirme en un auténtico diseñador de personajes. De momento estoy demasiado ocupado peleándome con los distintos métodos como para ponerme a pensar en producir. Este es uno de los grandes problemas del arte digital: el artista está demasiado ocupado centrado en la herramienta, y no se centra en el arte. Es lo que me está pasando estos días: A veces me siento como si estuviera prendiendo a pilotar un avión con muchísimos botones. Sobre todo ha sido el trastorno del cambio de pintar texturas en la v2.71 me ha hecho tener que "olvidar" cosas recién aprendidas. Ha sido devastador para mi psique.</span>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-12827526195376579222014-09-10T03:09:00.001-07:002014-09-10T03:09:06.219-07:00Blender: Texturar un dado pintando por capas<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/skT2B4-EMNM" width="480"></iframe><br />Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-1619528905012450392014-09-07T13:20:00.001-07:002014-09-07T13:20:24.960-07:00Blender apunte: nuevo nuevo metodo para pintar texturas en capas<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/EdiQLIOR5tE" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-14137299079408554142014-09-03T09:15:00.002-07:002014-09-03T09:21:39.275-07:00LA HISTORIA DEL OPENGL Y EL DIRECT 3D<span style="font-family: Arial, Helvetica, sans-serif;">Jugador de videojuegos detente. Tal vez tu naciste a tiempo para jugar, en los tiempos del HL1. Del quake 1. Del unreal. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Quizas recuerdes... que antes de, pixel shader, de las gafas 3d, del oculus rift, y del monopolio imperante del directx sobre todas las cosas...habia una epoca. Una epoca en la que si te ibas a las opciones graficas, de alguno de los juegos anteriormente citados, habia una opcion llamada "render device", que te daba a elegir entre: software, opengl o direct3d... Y tal vez, eras tu uno de esos, que sorprendiendote de lo bien que se ejecutaban los juegos en opengl con tu nueva tarjeta 3dfx voodoo2 recien comprada, marcabas siempre esa opcion, preguntandote, porque unos años mas tarde desaparecía, para hacer obligatorio el uso del directx (cuyo rendimiento iba tan lento como siempre).</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Adentrate conmigo en esta respuesta que he encontrado en un foro, repasando la historia de, en otra epoca, una vez poderosa libreria grafica, y que me ha impresionado tanto, que he tenido a bien tomarme la molestia de traducir. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">De seguro aprendes algo, sobre el estado actual de la industra, y de por que ahora mismo las nuevas APIS gráficas (opengl 5.0, directx12) se estan reescribiendo partiendo de cero, intentando aprender del sorprendente nuevo jugador en la industria: La api gráfica mantle, de AMD</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<a name='more'></a><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Esto es una traducción libre, de la brillante respuesta que da un usuario en este foro:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Algunas partes contienen fallos ortográficos.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://programmers.stackexchange.com/questions/60544/why-do-game-developers-prefer-windows">http://programmers.stackexchange.com/questions/60544/why-do-game-developers-prefer-windows</a></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Un usuario preguntó: ¿Por qué hay tanta predilección de hacer los juegos en directx, por encima de opengl¿Es directx tan superior, o tan facil de programar en comparación con la otra api?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Un usuario respondió:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Muchas de las respuestas que hay aquí son realmente, realmente buenas. Pero el asunto del opengl y el direct3d(d3d) es algo que probablemente debería ser abordado. Y eso requiere...</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">una lección de historia.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Y antes de que empecemos, conozco mucho más de opengl que de Direct3d. No he escrito nunca ni una sola linea de codigod3d en mi vida, y he escrito tutoriales de Opengl. Así que lo que voy a decir no es un asunto de parcialidad. Es un simple asunto de historia.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">NACIMIENTO DEL CONFLICTO.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Un dia, en algún momento a principios de los 90, Microsoft miró alrededor. Vieron a la SNES y a la MegaDrive siendo cojonudas, teniendo tela de juegos de acción y eso. Y vieron el DOS. Los desarrolladores escribían el codigo de juegos para dos, como para consolas: Directo en el metal. A diferencia de las consolas, sin embargo, donde el desarrollador que hacía un juego para SNES lo hacía sabiendo que hardware iba a tener, los desarrolladores de DOS tenían que escribir para multiples posibles configuraciones. Y esto es algo bastante mas duro de lo que parece.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Y Microsoft tenía un problema más grande: Windows. Verás, Windows quería dominar el hardware de una forma bastante diferente a la forma en la que DOS les permite hacer cualquier cosa.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Dominar el hardware es necesario para tener cooperacion entre aplicaciones. La cooperacion es exactamente lo que los desarrolladores de juegos odian, porque coge todos los preciosos recursos de hardware, que ellos podrían estar usando para ser la fantásticos.*1 </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Para promocionar el desarrollo de juegos en Windows, Microsoft necesitaba una API uniforme que fuera de bajo nivel, corriera bajo windows sin ser demasiado ralentizada, y por encima de todo multiplataforma. Una sola API para los graficos, el sonido y la entrada de hardware.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">De esta forma, Directx nació.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Las (tarjetas gráficas) aceleradoras 3d nacieron unos meses más tarde. Y Microsoft tuvo un pequeño problema. Veras, DirectDrwaw, el componente gráfico de Direct, solo trataba con gráficos 2d: alojando la memoria en pedazos de bits, en diferentes secciones de la memoria.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Asi que Microsoft compró unos sofwares intermedios y lo vistió como Direct3d versión 3. Esto fue universalmente vilipendiado. Y con razón: mirar código de D3d v3, es como echar un vistazo al Arca de la Alianza.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">El viejo John Carmack en Id Software le dio un vistazo a esa basura y dijo, "Que se joda eso!", y se puso a escribir otra API: OpenGl.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Verás, otra parte de esa enorme bestia de varias cabezas que es Microsoft, había estado ocupada con Sillicon Graphics, en la implementación de Opengl para windows. La idea era cortejar a diferentes desarrolladores de aplicaciones GL típicas, las aplicaciones de las estaciones de trabajo. CAD tools, modelado...esa clase de cosas. Los juegos eran la cosa más impensable que tenían. Esto fue más por una cosa del windows NT, pero Microsoft decidio añadirselo después tambien al win95.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Como una forma de atraer desarrolladores de estaciones de trabajo a Windows, Microsoft decidió tentarlos con acceso a esas nuevas flamantes tarjetas 3d. Microsoft implemento el protocolo de Drivers instalable: Un fabricante de tarjetas gráficas podría sobreescribir el software de Microsoft para Opengl, con el hardware de uno. El código podría automáticamente usar el hardware de Opengl que estuviera disponible.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">En los primeros dias, las tarjetas de nivel de usuario, no tenían soporte para Opengl. Eso no detuvo a John Carmack, de hacer un port de Quake a OpenGL (GLQuake), en su estación de trabajo SGI (Silicon Graphics I?). Así, como podemos leer en el readme de GLQuake:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">"...Teóricamente, glquake correrá en Opengl compatible que soporte extensión de textura de objetos, pero a menos que sea un hardware muy potente que acelere todo lo necesario, el juego no se ejecutará aceptablemente. Si tiene que ir a traves de un camino de emulación de software, el rendimiento irá sobre un frame por segundo.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Por esta época (marzo del 97), el único estandar de hardware opengl que podía manejar glquake razonablemente, es intergraph realiz, que es una tarjeta TELA DE CARA: 3dlabs ha estado mejorando su rendimiento significativamente, pero con los drivers disponibles, (sus tarjetas) no eran todavía lo bastante buenas como para usarse. Algunos de los actuales drives de 3dlabs para placas glint y permedia, pueden incluso crashear NT, cuando salen del modo pantalla completa, así que no puedo recomendar su uso.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">3dfx ha provisto un opengl32.dll que da todo lo que glquake necesita, pero NO es una implementación completa de opengl. Otras aplicaciones de opengl, no van a trabajar bien con esto, así que lo considero simplemente un "driver de glquake"....".</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Este fue el naciemiento de los miniGL drivers. Acabaron evolucionando hacia implementaciones completas de openGL eventualemente, así como el hardware se volvía cada vez más potente para implementar todas las funcionalidades de Opengl. Nvidia fue la primera en ofrecer una implementación de Opengl completa. Muchos otros vendedores lucharon, lo que es una razón de por qué los desarrolladores prefirieron el Direct3d: eran compatibles un rango más grande de software. Eventualmente, solo nvidia y ati (ahora amd) quedaron, las dos con una buena implementación de opengl.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">LA ASCENDENCIA DEL OPENGL.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Así, la contienda está servida: Direct3d vs Opengl. Es realmente una historía apabullante, considerando cuán malo D3d v3 era.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">La comisión para la revisión de la arquitectura Opengl (el ARB) es la organización responsable del mantenimiento del Opengl. Ellos llevan un número de extensiones, manteniendo el repositorio de extensiones, y crean nuevas versiones. El ARB es un comite formado por muchos de los grandes jugadores de la industria, así como de fabricantes de sistemas operativos. Apple y Microsoft han sido varias veces miembros del ARB.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">3dfx va y saca la Voodoo2. Esta es la primera tarjeta que puede hacer multitextura, que es algo que el Opengl no podía hacer antes. Mientras que 3dfx esta fuertemente en contra del Opengl, Nvida, hacedores del primer chip gráfico de multitexturado (el TNT1), lo ama. Asi que el ARB añadió de una extensión: GL_ARB_multitexture, que podría permitir el acceso al multitexturado.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Mientras tanto, el Direct3d v5 sale. Ahora d3d, tiene una auténtica API mejor que algo que parece que lo ha vomitado un gato. El problema? No tiene multitexturado.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Oops.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Ahora, esa no dolió tanto como hubiera debido, porque la gente no usaba el multitexrurado mucho. No directamente. El multitexturado dañaba el rendimiento un poco, y en muchos casos, no valía tanto la pena, comparado con el multi-pasado. Y, por supuesto, los desarrolladores de juegos amarían que sus juegos siguieran funcionando en tarjetas más antiguas, que no tenían multitexturado, asi que muchos juegos vinieron sin él.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Al d3d, se le dio pues, un indulto.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">El tiempo pasa, y Nvidia saca la Geforce 256 (lo la GT-250, la primera geforce de verdad), cargándose la competición de tarjetas gráficas durante los dos años siguientes. El principal aliciente de sus ventas fue la transformación e iluminación de vértices en el hardware. (T&L). No solo eso, Nvidia amaba tanto al opengl, que su motor de T&L era efectivamente un motor Opengl. Casi literalmente; así como yo lo veo, algunos de sus registros cogieron enumeradores en valores de Opengl directamente.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Direct3d v6 sale. Multitextura al final, pero... no hay hardware para T&L. Opengl siempre tuvo una producción de T&L, incluso antes de que la 256 la implementara en software. Así que fue muy fácil para Nvidia, simplemente convertir la implementacion de su software a una solución de hardware. No fue hasta el D3d v7, hasta que D3d, tuvo soporte para T&L.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">EL AMANECER DE LOS SHADERS, EL CREPÚSCULO DEL OPENGL</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Entonces, la Geforce 3 salio. Y un montón de cosas pasaron a la vez.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Microsoft había decidido que no iban a llegar tarde otra vez. Así que en vez de ver que iba a hacer Nvidia, y copiarles después, hicieron la increble jugada mandar a alguien a a sus oficinas a hablar con ellos. Casi inmediatamente de haberse conocido, las dos compañias se enamoraron, y el fruto de la relación fue que tuvieron una pequeña consola juntos.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Más tarde llegaría el divorcio, pero eso es otra historia.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Lo que esto significaba para el PC fue que la Geforce 3 salio casi simultáneamente al D3dv8. Y no es difícil ver como la Geforce 3 influenció los shaders de d3d 8. El Shader model 1.0, era extremadamente específico para las tarjetas de nvidia. Apenas habia que hacer ningún esfuerzo para abstraer el hardware de la tarjeta. El sm 1.0 hacía exactamente lo mismo que la tarjeta.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Cuando ATI empezó a meterse en el tema de los gráficos 3d con la radeon 8500, había un problema. El procesado de pixeles en la 8500 era más poderoso que en las de Nvidia. Así que Microsoft creó el shader model 1.1, para hacer básicamente "todo lo que la 8500 hacía.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Eso puede sonar como una cagada por la parte del d3d, pero cagada y éxito son un tema de centimetros. Un fallo épico estaba pasando en opengl-landia.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Nvidia amaba el opengl, asi que cuando la geforce 3 salio, ellos sacaron extensiones de opengl. Extensiones de opengl propietarias: solo funcionaban con nvidia. Naturalmente, cuando la 8500 salio, no podia usar ninguna de ellas.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Mira, al menos en d3d 8-landia, podias correr el shader model 1.0 en las tarjetas de ati. Oh si, claro, tenias que escribir nuevos shaders para aprovecharte de las wapadas de la 8500, pero al menos, tu codigo funcionaba. (nota del traductor, no importan los goles anteriores, esto es atrapar la bola dorada del quidditch)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Para poder tener shaders de alguna clase en la radeon 8500 en opengl, ati tenia que escribir, una serie de extensiones en opengl. Extensiones propietarias: Solo para ATI. Asi que necesitabas un camino de codigo de nvidia a ati, solo para tener shaders.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Ahora te preguntaras "Que coño estaba haciendo el comite opengl ARB, cuyo trabajo es mantener el OPengl moderno, y con shaders? Pues estaban haciendo lo que suelen hacer la mayoria de los comites: ser idiotas.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Veras, he mencionado el ARB_multitextura arriba, porque es una clave muy profunda en este asunto. El ARB parecia (desde la perspectiva de un tio que lo mira desde fuera), que estaban boicotenado el tema de los shaders totalmente.Ellos creian que si cambiaban la configuracion en el desarrollo de funciones lo bastante, podrian sacar equivalentes a los shaders.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Asi, el ARB fue sacando extension tras extension. Cada extension con las palabras "texture_env", en una serie de intentos de ir parcheando el diseño antiguo. Mira los registros: entre el ARB y el EXT hay hechas ocho versiones. Muchas de ellas promocionadas como versiones del nucleo de opengl.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Microsoft era parte del ARB en aquellos momentos, se largaron en la epoca en la que pegó el d3d 9. Asi que es perfectamente posible que estuvieran en el comite, pensando en sabotear el opengl de alguna forma. Pero yo dudo esta teoria por dos motivos: Uno, tendrian que haber tenido ayuda de mas de un miembro de ARB, ya que cada miembro solo tiene un voto. Y mas importante, dos: el ARB no necesitaba la ayuda de microsoft para joderlo todo, como se probará mas adelante.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Eventualmente el ARB, como si estuvieran amenazados por ATI y Nvidia (ambos miembros activos), sacaron la cabeza lo bastante como para implementar shaders de estilo de ensamble.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">¿Quieres algo mas estupido?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">El T&L por hardware, algo que el Opengl tuvo primero, para tener el máximo rendimiento posible por hardware, necesitas almacenar datos de vertices en la GPU. Despues de todo, es la GPU la que actualemtne quiere usar esos datos de verticies.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">En D3d, v7, Microsoft introdujo el concepto de los vertices buffer. Eran andanas localizadas en la memoria de la gpu para almacenar datos de vertices.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Quieres saber cuando opengl tuvo su equivalente de esto? Oh, nvidia, siendo amante de todas las cosas Opengl (tanto como para hacer extensiones propietarias, solo para nvidia), solto un rango de extensiones con su primera hornada de geforces 256. Pero, ¿cuando el ARB penso en dar una funcionalidad similar?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Dos años mas tarde. Despues de esto, aprobaron shaders de vertices y fragmentos (pixeles en lenguaje d3d). Eso es el tiempo que le llevo a ARB desarrollar una solucion multiplataforma para almacenar datos en la memoria de la GPU. De nuevo, algo que el hardware de T&L, necesita para llegar a su maxima potencia.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">UN LENGUAJE PARA ARRUINARLOS A TODOS.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Asi, el desarrollo del entorno del opengl estuvo fracturado por un tiempo. No hubo shaders multiplataforma. No hubo almacenamiento de vertices en la gpu, mientras que los usuarios del D3d, disfrutaban de ambos. ¿Podria ponerse peor?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Claro que si. Aqui llega 3d labs.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Quienes son, podrias preguntarte? Son la difunta empresa que yo considero que fue la autentica asesina del opengl. Seguro, la ineptitud general del ARB hizo al Opengl vulnerable cuando deberia haber estado destruyendo al d3d. Pero 3d Labs es quiza, la mayor unica razon que me llega a la mente, del estado del opengl en el mercado. Que podria haber hecho para provocar eso?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Ellos diseñaron el lenguaje de shaders de opengl.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Veras, 3d labs era una compañia agonizante. Sus super caras tarjetas graficas, fueron marginadas con la creciente presion de nvidia en el mercado de las estaciones de trabajo. Y, a diferencia de nvidia, 3d labs no tenia tarjetas en el mercado de usuarios normales. Si nvidia ganaba, ellos morian.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Y eso hicieron.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Asi, en un ultimo esfuerzo por permanecer relevantes en un mundo que no querian sus productos, 3d labs enseñaron en una conferencia de desarrolladores de juegos, algo que llamaron "opengl 2.0". Esto era un completo reinicio, partiendo de cero, de la API opengl. Y tenia sentido. Habia un monton de mierda en la api de opengl, en aquel momento (nota, esa mierda todavia persiste). Solo mira como fundiona la carga de texturas: es semiarcano.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Parte de la propuesta era un lenguaje de shaders. Naturalmente. Sin embargo, a diferencia de las extensiones multiplataforma ARB, su lenguaje para shaders era de alto nivel (C es un lenguaje de alto nivel para shaders. Si, de verdad).</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">En aquel entonces, microsoft tambien se encontraba trabajando en su propio lenguaje de alto nivel, el cual llamaron, en un esfuerzo de imaginacion colectiva... el "lenguaje de shaders de alto nivel". Sin embargo, su aproximacion era muy diferente al resto.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">El mayor problema con el lenguaje de shaders de 3d labs, era que estaba integrado. Mira, el de microsoft estaba muy definido. Le crearon un compilador. Le generaron el shader model 2.0, le dieron codigo de ensamblador, con el que podias alimentar d3d. En los dias del d3d v9, el lenguage de microsoft (hlsl), nunca tocaba d3d directamente. Era una bonita abstraccion, pero puramente complementaria. Y el desarrollador tenia la poportunidad de ir detras del compilador y ajustar la salida, para tener el maximo rendimiento.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">El lenguaje de 3d labs no tenia nada de eso. Tu le dabas al driver un lenguaje como el C, y producia un shader. Fin del asunto. NI un shader de ensamblador, ni tenias que alimentar nada mas. Era el objeto en opengl, representando el shader.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Lo que esto significa es que los usuarios de opengl fueron objeto de las vagancias de los desarrolladores que simplemente estaban manejando lenguajes sin ensamblar. Los bugs galopaban por doquier en el lenguaje de shaders opengl (GLSL). Lo que era peor. Si conseguias tener un shader que compilaba en multiples plataformas (una hazaña), todavia estabas sujeto a las optimizaciones de ese dia. Lo que no era algo tan optimo como podia ser.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Esto era el peor fallo del GLSL, pero no el unico. Ni de lejos.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">En d3d, y en los lenguajes de ensamblado de opengl, podias mezclar y encajar vertices de pixel shaders. Siempre y cuando se comunicaran con el mismo interface, podias usar cada shader con cualquier otro fragmento de shader compatible. E incluso, habia niveles de incompatibilidad que se podian aceptar. Un vertex shader podia producir una salida, que el fragmento de otro shader no leyera, y asi sucesivamente.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">GLSL no tenia nada de eso. Los vertices y fragmentos de shaders se fusionaban juntos en los que 3d lab llamaba "un programa objeto". Asi que si querias compartir vertices y programas objetos, tenias que construir multiples programas objeto. Y esto causo el mayor segundo problema.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Veras, en 3d labs pensaron que estaban siendo listos. Basaron su compilacion de GLSL en c/c++. Si tu coges un .c, o un .cpp, y lo compilas en un archivo objeto. Y entonces coges uno o mas objetos y los enlazas en un programa. Asi es como el GLSL compila: tienes que compilar tu shader (vertice o fragmento) en un objeto shader. Entonces pones esos objetos shaders en un programa objeto, y los enlazas juntos para hacer el programa entero.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Mientras que esto permite un monton de potenciales ideas molonas, como tener una "libreria" de shaders que contiene codigo extra que los shaders principales podrian llamar, lo que lleva a la practica es que los shaders tienen que compilarse dos veces. Una en la fase de la compilacion, y otra en la fase del enlazado. El compilador de nvida en particular era conocido por tener la compilacion doble. No generaba ninguna clase de objeto codigo intermediario. Solo compilaba una vez, lanzaba la respuesta y entonces compilaba una segunda vez en el tiempo de enlazado.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Asi, incluso si quieres enlazar tu shader a dos fragmentos de shaders, tienes que hacer un monton mas de compilacion que en d3d. Especialmente desde que compilar en un lenguaje tipo C, se hacia todo offline, no al principio del la ejecucion de programa.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Hay otros asuntos con el GLSL. Quiza parece equivocado echar toda la culpa a 3d labs, ya que el ARB eventualmente, aprobo e incorporo este lenguaje (pero nada mas de su iniciativa "opengl 2.0"). Pero fue idea de ellos.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Y ahora viene la parte realmente triste: 3d labs estaba en lo cierto (en la mayoria de todo). GLSL no es un lenguaje de vectores basado en shaders de la forma que el HLSL lo era. Esto fue porque el hardware de 3d labs era escalar (parecido al de nvidia), pero estaban en lo cierto en la direccion en la que los fabricantes de hardwares acabaron yendo.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Estaban en lo cierto en lo de compilar online para el nivel alto del lengual. D3d nunca llego a mirar a eso siquiera.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">El problema es que 3d Labs estaban en lo cierto, en el momento equivocado, e intentaron llegar al futuro demasiado pronto. Cuando uno intenta hacer soluciones demasiado enfocadas a como sera en el futuro, se la pegan en el presente. Suena simiar a como el opengl siempre ha tenido la posibilidad de hacer T&L desde un primer momento, pero no fue exitoso hasta que habia hardware T&L, mientras que el GLSL estuvo disponible antes de que el mundo lo pillara.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">El GLSL es un buen lenguaje ahora. Pero, en su epoca? Era horrible. Y opengl sufrio por eso.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">DE LA CAIDA A LA APOTEOSIS.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">MIentras que yo mantengo que 3d Labs dio el golpe fatal, fue el ARB mismo quien seria el que clavaria el ultimo clavo del ataud.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Esta es una historia que muchos de vosotros habreis oido. Es de los tiempos en los que el opengl2.1 estaba teniendo problemas. Tenia un monton de mierda en su legado. La API ya no era facil de usar. Habia 5 formas de hacer una misma cosa, y nadie estaba seguro de cual era la mas rapida. Podias "aprender" opengl, con tutoriales simples, pero aprender esa api para que te diera autentico rendimiento, y poder grafico no era posible.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Asi que el ARB decidio intentar otra reinvencion del opengl. Esto iba a ser parecido a lo que 3dlabs hizo con el opengl 2.0, pero mejor porque ARB estaba detras de ello. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Lo llamaron el salto largo. (Longs peak).</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Que es lo que tiene de malo el que te lleve tanto tiempo mejorar una api? Esto era malo porque en microsoft se habian dejado ellos solos vulnerables. Veras, esta fue la epoca del naciemiento del windows vista.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Con vista, microsoft habia decidido llevar a cabo muchos cambios muy necesarios en los drivers de pantalla. Ellos forzaron a los drivers a enviar hacia el sistema operativo la memoria grafica de virtualizacion y muchas otras cosas. Mientras que uno puede debatir los meritos de esto, o si es algo que valga la pena, el echo que queda es esto: microsoft forzo a d3d 10, que fuera solo para vista (y versiones superiores)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Si tu tenias una tarjeta, que podia manejar d3d10, no podias usarla, sin tener que tener tambien windows vista.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Quiza recuerdes tambien que Vista...em, bueno, vamos a decir que no funcionaba todo lo bien que debia. Asi que tenias un sistema operativo que no rendia bien, una nueva api, que solo se ejecutaba en ese sistema operativo, y una generacion de hardware fresco que necesitaba esa API y ese os, para no hacer nada que ser mas rapido que la generacion pasada.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Sin emabargo, los desarrolladores podrian acceder a funciones de d3d 10 por opengl...o, bueno... habrian podido, si el ARB no hubiera estado ocupada trabajando en uno de los saltos largos.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Basicamente, el ARB tardo de un buen año y medio a dos años en mejorar la api. Por la epoca en la que el opengl 3.0 salio, la adopcion de vista ya estaba mas al alza, win7 estaba a la vuelta de la esquina, y la mayoria de los desarrolladores de juegos no se preocupaban por las caracteristicas de d3d 10. Despues de todo, las tarjetas graficas que ejecutaban d3d 10, tambien ejecutaban el d3d v9 perfectamente, y con el nacimiento de los ports de pc a consola, ( o los desarrolladores de juegos saltando al desarrollo de consolas, coja su ticket), simplemente los desarrolladores no necesitaban las caracteristicas de d3d 10.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Ahora, si los desarrolladores tienen acceso a esas caracteristicas via opengl o maquinas winxp, entonces el desarrollao de opengl podria haber recibidon un bien merecido tiro en el brazo. Pero el arb perdio su oportunidad. Y quieres saber cual es la peor parte?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">A pesar de haber perdido 2 preciosos años intentando reconstruir la api desde cero...todavia hab fallado intentando volver a su estatus quo (excepto por el mecanismo de desprestigio).</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Asi que no solo el ARB ha perdido una oportunidad crucial, ellos ni siquiera han hecho la tarea de tener esa oportunidad para poder perderla. Un fallo epico.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Y esa es la historia del openglo vs direct3d. Un cuento de oportunidades perdidas, estupidez bruta, ceguera total, y simple tonteria.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">===============================================================</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">*1. Las repercusiones de este enfoque se pueden ver en la más rotunda actualiadad. Open gl5, mantle y directx12, se van a reescribir, para dar acceso directo de los juegos a los recursos del sistema.</span><br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-51360939118805092252014-08-23T15:49:00.001-07:002014-08-23T15:49:12.407-07:00Blender apunte: colorear geometria 3d por capas, blender render style<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/zCBNt86bYVY" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-50557803231844430842014-08-19T02:53:00.001-07:002014-08-19T02:53:56.971-07:00Blender apunte: método propuesto para alcanzar correcta topologia hombro<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/hQTLjZHoajE" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-28287164046115089132014-08-17T09:48:00.001-07:002014-08-17T09:48:00.593-07:00Blender apunte: espina inversa con pivote deslizante<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/3pvZ6gpZ7eQ" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-5598492094520483822014-08-16T05:43:00.001-07:002014-08-16T05:43:11.120-07:00Blender apunte: las 3 formas de atachear poligonos a huesos<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/D_nI_5m1qrw" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-37001881513847082962014-08-15T15:45:00.001-07:002014-08-15T15:45:06.011-07:00Blender apunte: rig con animaciones automaticas por action constraint<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/h6Kr5o1hLC0" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-57561822355141059942014-08-15T07:09:00.001-07:002014-08-15T07:09:37.964-07:00Blender apunte: rigs de cadenas triples y sockets de hombro<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/OQl5HukCnXg" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-65336974379932249022014-08-15T07:05:00.001-07:002014-08-15T07:05:28.376-07:00Blender apunte: 3 breves conceptos sobre rigging<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/PRlpG3su2PY?list=PLKFbfWqR5znNclTRrrtdCh7Oo1xPkNq6Y" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-57233541584451017672014-08-11T05:23:00.001-07:002014-08-11T05:23:06.011-07:00blender apunte: drivers vs contraanimacion<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/MqANH78IgYU" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-22687518461695066612014-08-09T05:47:00.001-07:002014-08-09T05:47:25.781-07:00blender apunte: rig rápido para cuello y mano<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/sxA4ka-5sMk" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-55119055349356536562014-08-03T13:04:00.001-07:002014-08-03T13:04:16.688-07:00Blender apunte: rig rápido para pierna<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/E_YcknEEyWU" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-36465491356635211052014-08-02T12:01:00.001-07:002014-08-02T12:01:41.786-07:00Blender apunte: rig para seguimiento ocular<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/FxBDZ35rt9c" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-18179132802010418502014-07-30T15:40:00.001-07:002014-07-30T15:49:11.594-07:00Imagen de Carlos RománMe ha encantado!! <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUnzgkLETmQEmPgV6GVn8b0ZXjqTGhO_Xom4SHknji98mRAy_gJlzYGGvpxrJW9VIv6X5Drs6Rw-PFmbW42klT1QTFC2iN2CeEfhMTbxK76RmXzwXNLZEdFVuEfXaxf-eeJfJUegcKORmQ/s1600/Chell+Pin-Up+blog.png%22" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUnzgkLETmQEmPgV6GVn8b0ZXjqTGhO_Xom4SHknji98mRAy_gJlzYGGvpxrJW9VIv6X5Drs6Rw-PFmbW42klT1QTFC2iN2CeEfhMTbxK76RmXzwXNLZEdFVuEfXaxf-eeJfJUegcKORmQ/s1600/Chell+Pin-Up+blog.png%22" height="320" width="312" /></a></div>
<br />
<br />
<b><a href="http://cromanart2.blogspot.com/2014/07/chell-pin-up.html?spref=bl">Croman: Chell Pin-Up</a></b>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0tag:blogger.com,1999:blog-378208046199836115.post-38770641589376625622014-07-20T03:16:00.001-07:002014-07-20T03:16:58.949-07:00Blender apunte: un material con 2 mapas en Blender Render<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/zOOfu8Wm8kc" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/11976452478119570989noreply@blogger.com0