Show simple item record

Professor Advisordc.contributor.advisorHitschfeld Kahler, Nancy
Professor Advisordc.contributor.advisorSalinas Fernández, Sergio
Authordc.contributor.authorFlores Gutiérrez, Juan Andrés
Associate professordc.contributor.otherRivara Zuñiga, María Cecilia
Associate professordc.contributor.otherInostroza Fajardin, Patricio
Admission datedc.date.accessioned2025-05-07T14:45:02Z
Available datedc.date.available2025-05-07T14:45:02Z
Publication datedc.date.issued2024
Identifierdc.identifier.urihttps://repositorio.uchile.cl/handle/2250/204740
Abstractdc.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
Lenguagedc.language.isoeses_ES
Publisherdc.publisherUniversidad de Chilees_ES
Type of licensedc.rightsAttribution-NonCommercial-NoDerivs 3.0 United States*
Link to Licensedc.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
Document typedc.typeTesises_ES
dc.description.versiondc.description.versionVersión original del autores_ES
dcterms.accessRightsdcterms.accessRightsAcceso abiertoes_ES
Catalogueruchile.catalogadorchbes_ES
Departmentuchile.departamentoDepartamento de Ciencias de la Computaciónes_ES
Facultyuchile.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


Files in this item

Icon

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 United States
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 United States