Mostrar el registro sencillo del ítem

Profesor guíadc.contributor.advisorHitschfeld Kahler, Nancy
Profesor guíadc.contributor.advisorSalinas Fernández, Sergio
Autordc.contributor.authorFlores Gutiérrez, Juan Andrés
Profesor colaboradordc.contributor.otherRivara Zuñiga, María Cecilia
Profesor colaboradordc.contributor.otherInostroza Fajardin, Patricio
Fecha ingresodc.date.accessioned2025-05-07T14:45:02Z
Fecha disponibledc.date.available2025-05-07T14:45:02Z
Fecha de publicacióndc.date.issued2024
Identificadordc.identifier.urihttps://repositorio.uchile.cl/handle/2250/204740
Resumendc.description.abstractLa optimización en sistemas de renderizado es esencial para el desarrollo de aplicaciones gráficas que generan imágenes en tiempo real. Algunas escenas en estos medios llegan a contener decenas de miles de objetos, lo que puede provocar un impacto negativo en el rendimiento debido al aumento de instancias de comunicación entre CPU y GPU. Si bien en la actualidad existen funciones denominadas llamados de dibujo indirecto, que permiten a los programadores solucionar esta problemática haciendo mayor uso del dispositivo, aplicaciones de código abierto que ocupen estos métodos siguen siendo escasas y difíciles de estudiar. Ante esta situación, en el presente trabajo se busca desarrollar un motor de renderizado que utilice técnicas modernas para la reducción de llamados a GPU, y dé la opción de usar métodos tradicionales con el fin de comparar ambas alternativas. Para evidenciar el caso de una aplicación real que se puede beneficiar de funciones indirectas, se implementaron sistemas asociados al renderizado procedural de terrenos y de elementos generados por encima de este, los cuales hacen uso de los módulos base de renderizado de objetos. El motor implementado es de código abierto, fue escrito en el lenguaje de programación C++ y hace uso de OpenGL para la comunicación con GPU. Se programaron diferentes clases para abstraer los llamados que son usados por ambas técnicas. En particular, para la arquitectura que ocupa funciones de dibujo indirecto, se utilizó una lógica de batches que permite mantener un orden en los datos de los objetos con respecto a las mallas geométricas y shaders que se aplican sobre estos, el cual es necesario para este tipo de renderizado. La generación procedural de alturas utiliza un algoritmo de Perlin Noise para asegurar datos continuos en el espacio. Estos datos son rescatados por el sistema de renderizado de terrenos, el cual ocupa un algoritmo de geoclipmaps adaptado con un listado texturas que contienen las alturas separadas en distintas regiones. Por otro lado, la generación procedural de objetos sobre el terreno hace uso de un algoritmo de distribución espacial conocido como poisson disk sampling. Para las mediciones de rendimiento, se realizaron experimentos del renderizado de objetos bajo distintos casos, que incluyen objetos que cambian su transformación, su geometría o su material en tiempo de ejecución. En todos los casos en donde existe un cambio constante en el estado de los objetos, el uso de técnicas modernas es más eficiente, pero decae en rendimiento debido a la lógica necesaria para su correcto funcionamiento. Finalmente, se experimentó con una escena procedural, más acercada a aplicaciones reales, en donde el uso de llamados de dibujo indirecto permite una mejora de hasta más de 39 veces en el tiempo de ejecución.es_ES
Idiomadc.language.isoeses_ES
Publicadordc.publisherUniversidad de Chilees_ES
Tipo de licenciadc.rightsAttribution-NonCommercial-NoDerivs 3.0 United States*
Link a Licenciadc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/us/*
Títulodc.titleDesarrollo de un motor de renderizado utilizando GPU-Driven Rendering para la generación procedural de terrenos con elementos por encimaes_ES
Tipo de documentodc.typeTesises_ES
dc.description.versiondc.description.versionVersión original del autores_ES
dcterms.accessRightsdcterms.accessRightsAcceso abiertoes_ES
Catalogadoruchile.catalogadorchbes_ES
Departamentouchile.departamentoDepartamento de Ciencias de la Computaciónes_ES
Facultaduchile.facultadFacultad de Ciencias Físicas y Matemáticases_ES
uchile.carrerauchile.carreraIngeniería Civil en Computaciónes_ES
uchile.gradoacademicouchile.gradoacademicoLicenciadoes_ES
uchile.notadetesisuchile.notadetesisMemoria para optar al título de Ingeniera Civil en Computaciónes_ES


Descargar archivo

Icon

Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem

Attribution-NonCommercial-NoDerivs 3.0 United States
Excepto si se señala otra cosa, la licencia del ítem se describe como Attribution-NonCommercial-NoDerivs 3.0 United States