  With more and more digital media, especially in the field of virtual reality
where detailed and convincing scenes are much required, procedural scene
generation is a big helping tool for artists. A problem is that defining scene
descriptions through these procedures usually requires a knowledge in formal
language grammars, programming theory and manually editing textual files using
a strict syntax, making it less intuitive to use. Luckily, graphical user
interfaces has made a lot of tasks on computers easier to perform and out of
the belief that creating computer programs can also be one of them, visual
programming languages (VPLs) have emerged. The goal in VPLs is to shift more
work from the programmer to the integrated development environment (IDE),
making programming an user-friendlier task.
  In this thesis, an approach of using a VPL for defining procedures that
automatically generate virtual scenes is presented. The methods required to
build a VPL are presented, including a novel method of generating readable code
in a structured programming language. Also, the methods for achieving basic
principles of VPLs will be shown -- suitable visual presentation of information
and guiding the programmer in the right direction using constraints. On the
other hand, procedural generation methods are presented in the context of
visual programming -- adapting the application programming interface (API) of
these methods to better serve the user. The main focus will be on the methods
for urban modeling, such as building, city layout and details generation with
random number generation used to create non-deterministic scenes.
