Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

28
DESIGN AND IMPLEMENTATION OF A PROCEDURAL CONTENT GENERATION WEB APPLICATION FOR VERTEX SHADERS Juan C. Quiroz Sergiu M. Dascalu

Transcript of Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

Page 1: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

DESIGN AND IMPLEMENTATION OF A PROCEDURAL CONTENT GENERATION WEB APPLICATION FOR VERTEX SHADERSJuan C. QuirozSergiu M. Dascalu

Page 2: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

OUTLINE• What is procedural content generation? • How we do it?

• Genetic algorithms• Genetic programming• Vertex shaders

• Implementation details• Results

Page 3: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders
Page 4: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

WHAT IS PROCEDURAL CONTENT GENERATION (PCG)?

• Algorithmic creation of game content

• Potential to reduce the cost and time to create content

• Potential to augment the creativity of designers, artists, and programmers

Page 5: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

OUR GOAL• Start with an existing 3D model

• Explore variations of the 3D model

Page 6: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders
Page 7: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders
Page 8: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

GENETIC ALGORITHM

Population

Page 9: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

INTERACTIVE GENETIC ALGORITHM

Page 10: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders
Page 11: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

OUR GENETIC ALGORITHM EVOLVES VERTEX SHADERS

Page 12: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

VERTEX SHADERS• Stage in the rendering pipeline that handles

processing of individual vertices

• Receives a single vertex and generates a single vertex

Vertex Shader

Page 13: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

VERTEX SHADERmain () {

position.x = position.x + 1;}

Page 14: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

VERTEX SHADERmain () {

position.x = position.x + x / (x + z);}

Population

Page 15: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

GENETIC PROGRAMMING

Page 16: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

HIGH LEVEL DETAILSSoftware Engineering Stuff

Page 17: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

ARCHITECTURE

Page 18: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

WHY WEB APPLICATION?• Run system on web browser• No plugins• No installation• Collaborative platform

Page 19: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

RESULTS

Page 20: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders
Page 21: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders
Page 22: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders
Page 23: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders
Page 24: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

EXAMPLE TRANSFORMATIONS

Page 25: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

DESTRUCTIVE TRANSFORMATIONS

Page 26: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

DESTRUCTIVE TRANSFORMATIONS

Page 27: Design and Implementation of a Procedural Content Generation Web Application for Vertex Shaders

CONCLUSIONS• PCG web application for evolving transformations of 3D models• Vertex shaders + genetic algorithm many transformations• No plugins needed• Allow users to collaboratively create a database of transformations