Jump to content

  • Log In with Google      Sign In   
  • Create Account

dougbinks

Member Since 17 Jun 2012
Offline Last Active Yesterday, 06:49 AM

Posts I've Made

In Topic: How To choice the GUI sdk for creating a world edit(like crysis::sandbox)?

03 April 2014 - 10:36 AM


UE4 IDE is most likely written in  WPF, and what I have seen from the code videos is that they use C++ and C# code, so I highly doubt that VB has been used there.

 

UE4's UI is written using their own UI called Slate running on top of thier rendering layer - so a port of the rendering engine leads to a port of the editor UI, which is handy.

 

A common approach is to use web technology, either through an embedded simple web server in your game or by embedding Webkit such as the Chromium Embedded Framework (other alternatives can likely be found through a search on these forums).


In Topic: Octree-based voxel lighting system

28 December 2013 - 04:37 PM


I find it difficult to implement a good LOD in a voxel system that have seamless transitions when you change the distance. In your movie clip, there is such a change at 19s.

 

Yes, it's tricky. Eric Lengyel's transvoxel algorithm is one of the best for marching cubes (http://www.terathon.com/voxels/), and Miguel Cepero's Voxel Farm seams are pretty decent http://procworld.blogspot.fr/2013/07/emancipation-from-skirt.html, though I'm not sure what technique he uses as he has dual contour voxels. I use simple skirts for now with the skirt normal adjusted to minimize transition contrast, though I've not had time to cater for certain edge cases such as the one you spotted.

 

The main issue with shadow maps for me is the lack of light propagation in occluded volumes, such as caves. Otherwise they're great.


In Topic: Octree-based voxel lighting system

28 December 2013 - 01:36 PM

Funnily enough I've been thinking about the lighting system in my own work recently, and there's some similarities as I'm using an Octree as well.

 

You can probably do decent per-vertex lighting the Minecraft way by subdividing the large voxels. In my own game I subdivide large nodes to the smallest voxel size for nearby regions, and use higher nodes of the branch of the Octree for level of detail in the distance. Hopefully you can see the LODs working in this (debug rendering) video. Using this approach has the advantage of fast vertex generation without seams, using skirts between LOD regions. So if you use this approach and have slow moving  or stationary lights you should be able to do fairly decent lighting which gives you some global illumination like properties.

 

I'd disagree that deferred rendering doesn't scale well - indeed that's it's purpose. Culling can be done via tiles in DX11+ (or equivalent in OpenGL), see Andrew Lauritzen's work, or you can use the stencil buffers. I've been considering using the voxel octree itself to do CPU side culling, but haven't looked into it yet.

 

I'm also considering voxel cone tracing or light propagation volumes, doing the work CPU side using the octree and then uploading the results asynchronously to either a light-map or 3D texture cascade. I've no results or even back of the napkin calculations of feasibility yet, but  will try to blog the results when I do.


In Topic: Spherical Wave expansion effect

23 September 2013 - 10:16 AM

I think I would be tempted to use a post process effect for this.

 

Calculate the radial distance using screen position and depth, you should be able to google for how to do this, then if this radius is smaller than the current 'sphere radius' you output the colour data from your colour buffer, and if it's larger you apply an edge filter to draw outlines. This won't draw polygons as such, so if you want that effect you may need to draw polygon edges or a per triangle colour which you then edge filter into another buffer.


In Topic: implementing scripting

19 September 2013 - 07:48 AM

Okay, so you attach VS to the main exe, then use usual things, great!

Tried SEH years ago but I failed to enable it on whole project (unwinding problems or don't remember).

This looks good, will definitively follow your project.

 

You can use our system outside of RCC++ with only a small amount of effort - have a look at RuntimeProtector.h and the implementation functions in RuntimeObjectSystem_Platform*.cpp

 

[Edit] Note that this will likely interfere with any crash handler like Breakpad, but since it's primarily intended for development I'd simply turn it off in shipping code if you use Breadpad in shipping code. I intend to look into a solution at some point.


PARTNERS