gk's blog

Relief Mapping Buildings

a: Base Texture  b: Normal Mapping c: Relief Mapping

In order to simulate additional geometry, that is not present in the basic building meshes generated by citygen, relief mapping is used. Normal mapping can be used as a solution to add detail to the shading of an object, notice how image b contains shadows and highlights for the window portions in contrast to image a. Relief mapping provides two major benefits in addition to normal mapping, namely the effects of parallax and occlusion, like the similar method of 'Parallax Occlusion Mapping'.

GDTW Paper

GDTW 07 logoI presented a paper at GDTW in Liverpool titled 'Citygen: An Interactive System for Procedural City Generation'. The paper provides an overview of the system describes in some detail the concepts of adaptive roads, city cell extraction, road growth and snapping algorithms. The accompanying presentation illustrates the application of these concepts in the citygen app and includes video capture demonstrations.

GDTW07 Presentation GDTW07 Paper
Download Presentation Download Paper

 

Collada Export Complete

The COLLADA format provides a common format to share scene data between tools and enable Citygen to be easily integrated into the development pipeline. Collada is suppported to some degree in all of the following 3ds Max, Maya, Blender, Deep Exploration (^shown above), Lightwave and XSI.

Update: Plugins are available for both 3ds Max and Maya from feelingsoftware that make importing and exporting Collada documents simple. The builtin support of Collada in max and maya is bad so anyone using max or maya should download the plugins.

Lot Division

Lot division is the process used to extract valid polygonal boundaries for building construction from the enclosed regions of the primary and secondary road networks. The algorithm operates on both convex and concave shaped areas and also supports filament roads as illustrated in the suburban example below.

The lot division algorithm works by subdividing each region using a deviated perpendicular bisector of the longest side. Two or more polygons can result from the operation and subdivision is continued recursively until a target lot size is reached. Lots that do not have direct road access are excluded from the final set.

procedural lotsProblems were encountered with the realism of the resulting output. The algorithm worked fine for regular square like blocks but when applied to suburban or irregular shapes the resulting lots appeared angular and misaligned. To improve the realism of the output the shape and position of the lots had to be improved. I found that by prioritising subdivision along the road access sides the shapes of the lots became more regular and almost all lots are positioned perpendicular to their access road.

Another Poster at Siggraph

Siggraph 07 logoI have another poster at Siggraph this time titled 'Interactive City Generation'. The poster shows some of the work that I have implemented including the new lot division code and road generation. The poster is a little short on detail but it is only an overview. There is also a short section and building screenshot of the Shape Grammar work graham is doing.

Siggraph07 Poster Siggraph 07 Poster Abstract
Download Poster Download Abstract (incl references)

The application is progressing and soon I'll put up a version to try out after I get some of the reliability and thread issues resolved.

citygen preview

The citygen application is usable at the moment but I'm only beginning to work with it so much better results should be possible in a few weeks.

The primary road network roads are terrain adaptive and plotted to optimum routes around hills, etc. Within enclosed regions of the primary road network, secondary roads are generated using a parametric organic growth algorithm. I've submitted an abstract for a short paper with a little more detail hope to get that up soon. Let me know what you think of the app.

Procedural City Generation Survey

I have written a survey paper for publication in the ITB Journal that outlines the existing approaches to procedural city generation and provides a discussion into the merits of each approach. All references are included so it should be a useful paper to begin research into procedural city generation.

A Survey of Procedural Techniques for City Generation

Topics include: 

  • Introduction into Procedural Techniques
  • Grid Based Layout
  • L-systems
  • Agent Based Simulation
  • Voronoi and Template Based techniques
  • Shape Grammars

Download Survey Paper

Please read the paper and feel free to let me know your thoughts on it, has anything been left out or do you feel that there are any errors in the paper.

Update: The paper has been published in the ITB Journal Issue 14 which can be found here.

Poster at Siggraph

Siggraph 06 logoI have a poster at Siggraph titled 'Interactive Generation of Cities for Real-Time Applications'. The poster illustrates our current research in city generation, we provide an outline of a solution using a combination of techniques including templates and L-systems. Road pattern templates are applied in the form of an editable graph and growth algorithms like L-systems are used to create a complete road network.

Siggraph06 Poster Siggraph 06 Poster Abstract
Download Poster Download Abstract (incl references)

The design and associated application is still in the early stages of it evolution but shows the direction of our research.

Extract diagrams from pdf - pdf2svg

PDFs are the primary format for research papers and are used for many other publications as well. It is possible to get diagrams in a friendly usable format with the aid of a few tools

Why bother? Its easy to get a screenshot of a pdf diagram but there are problems.

  1. Resampling bitmaps in diagrams is very lossy and file size bloats considerably when over sampling.
  2. Images do not scale gracefully or provide the same detail and clarity present in the vector diagram of pdfs.
  3. Using images in place of vector diagrams bloats file size.

To extract the full details of diagrams in pdf files it is important to convert them into an equivalent format that can maintain the vector and bitmap information. An obvious choice for this is the open SVG (Simple Vector Graphics) format that also provides a wide range of tools and is designed to work on the web.

wxWidgets, wxAui & Ogre3D friends with a native cursor.

I've found a solution to using a native mouse cursor for ogre. I'm going to use wxWidgets & Ogre together by passing a pointer to the wxWindow into the createRenderWindow as a param titled "externalWindowHandle".

This approach is available as a non working sample from the source based release of ogre. Also more recently used in the Mage project to create a visual scene editor for Ogre.

I initally used the main window hWnd to create the ogre render window but found that the screen coordinates were offset by the toolbar and could not be corrected. So instead I opted to use a nice window manager wxAui that provide dockable draggable windows elements like an IDE.

Syndicate content

Archives

November 2008
SunMonTueWedThuFriSat
1
2345678
9101112131415
16171819202122
23242526272829
30

Syndicate

Syndicate content
site by gk
Valid XHTML 1.0! Valid CSS! powered by drupal