Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
7. March 2014

 

Yesterday the Blender Foundation announced the release of Blender 2.7 RC, a preview build of the upcoming full 2.7 version.  This release is going to jump out at you immediately as they have started refining the UI.  Now sidebar actions are group in context sensitive tabs making the bar much less cluttered.

image

 

This is just the most obvious UI tweak, there were a number of other small changes under the hood.  Here are the release notes.


New features include initial support for volumetrics in Cycles, and faster rendering of hair and textures. The motion tracker now supports weighted tracks and has improved planar tracking. For mesh modeling there are new Laplacian deform and wireframe modifiers, along with more control in the bevel tool. The game engine now supports object levels of detail.

The first results from the new user interface project are also in this release, with dozens of changes to make the interface more consistent and powerful. This is also the first release of the multithreaded dependency graph, which makes modifier and constraint evaluation faster in scenes with multiple objects.

Cycles Rendering

Cycles 270 Volume.png

Cycles now has initial support for volume rendering including emission, absorption and scattering. Volume rendering can be used to render effects like fire, smoke, mist, absorption in glass, and many other effects that can't be represented by surface meshes alone.

CPU rendering performance was improved, particularly for hair, textures and Open Shading Language.

Motion Tracker

Blender2.70-PlaneTrackImage.png

Trackers can now be weighted, to keep the result stable as feature disappear or become difficult to track. The plane track workflow was improved to be easier to control. Automatic feature detection was made more robust using a new detector algorithm.

User Interface

Header menu collapsed.png

The toolbar now has tabs to organize tools in categories. Multiple buttons can now be edited at once, for example for XYZ axes or color channels. Transform tools now have a mode to enter expressions and units. Other changes were done to improve lists, header menus, tooltips, buttons, menus and more.

Modeling

Wireframe Mod Result.png

The Laplacian Deform modifier was added to pose a mesh while preserving geometric details of the surface, and a new wireframe modifier allows you transform your mesh into a wireframe representation. The boolean modifier now supports ngons, and there are improvements to the bevel, screw and triangulate modifiers.

The bevel tool now offers more control over the bevel profile and results, and the knife tool was improved as well.

Threaded Dependency Graph

GSoC-DepsGraph-ThreadedCPULoad.png

An important change that happened under the hood is the threaded dependency graph. This means that object modifiers and constraints, among other things, can now be computed with multiple threads taking advantage of multicore processors. This will be most noticeable with scenes that have many objects, or multiple objects with heavy modifiers. This is the first step in making the dependency graph in Blender more powerful.

Game Development

FPS-Walk-Navigation-Shortcuts.png

The Blender game engine now supports discrete level of detail for meshes. For game developers, support for working with Photoshop PSD files has been added.

A new view navigation walk mode has been added, which has a control scheme as typically found in first person shooter games. This can be useful for game developers to navigate levels as if in a game.

Freestyle NPR Rendering

Blender261 python changes.png

The Freestyle Python API is an essential part that makes it a highly programmable NPR rendering engine. This API has been reorganized.

More Features

Blender2.70 MaskOverlapFill.png

Many small changes and features were done all over Blender. Some notable new feature are normalized display for FCurves, derivative map baking, baking to vertex colors, better visualization of masks and control over mask filling, gravity option for sculpting, negative texture values to support vector displacement and a Lamp Data shading node to create more customized NPR shaders.

Feature Videos

For a visual demonstration of some of the new features in this release, check out the feature videos created during the development of this release.

Addons

Several addons have been added and updated, including Node Wrangler (aka Node Efficiency Tools) and a new Sketchfab Exporter addon

Bug Fixes

In addition to the new features, over 560 bugs that existed in previous releases have been fixed.

 

You can download Blender 2.7RC on the Blender website.  If you are trying to figure out what the vc2012_preview versions are, these are builds compiled with the most recent version of Visual Studio.  This should cause some performance improvements, but as the name says, it’s a preview so your mileage may vary!

Art


5. March 2014

 

New install here and I am having a bit of an issue with Live Writer.  Normally, each of these style headings will show a preview of what each one should look like.  This is what it currently looks like, and yeah, this is very much not right.

 

image

 

So, this is a test to see what each heading actually looks like.

 

Paragraph

One

Two

Three

Four

Five
Six

 

Told you it was just a test.  Except some weird things to keep happening with this post as I keep testing.  Just don’t ever expect it to be entertaining.


5. March 2014

 

If you’ve been a regular reader of my blog you will probably know that I am not Eclipse’s biggest cheerleader.  “I hate it” might be a bit strong, but not by much.  Recently though, I’ve been forced to use it more and more.  Frankly, if you want to work in cross platform Java, especially using Google’s tools, you are pretty much forced to these days.  One of my biggest annoyances is the obtuseness of the interface.  Today I am going to show one such example.

 

One of the things about working with LibGDX in Eclipse is it uses a fair number of threads and when an exception is thrown, if it wasn’t directly in your code, you are kinda screwed.  Look at this example, from code I am currently working on:

 

image

 

What I see here is I caught a “Throwable” derived exception and am throwing a RuntimeException in turn.  I can look up in the thread stack trace to see where it was thrown ( although the code above makes it pretty obvious, but stay with me for a moment).

 

If I look at the debug window, I can see that stack trace, to see where the exception came from:

image

 

There is a really useful piece of information here ( the exception type was GdxRuntimeException ), but the stack trace itself is pretty flat.  That is because each stack is thread specific and frankly, we just created this thread.  So our stack basically consists of Thread.run() and well, that’s about it.  We can tell by our code that the exception was thrown somewhere in LwjglApplication.mainLoop() but that is all we’ve got to work with.  We could set a breakpoint in mainLoop and run until it triggers, but that is extremely annoying.  What we want to do instead is stop execution when the exception is THROWN, not when it is caught.

 

This can be done in Eclipse, but in the way of Eclipse, it certainly isn’t intuitive.  Since we know our exception type is GdxRuntimeException, we will trigger it to stop execution whenever one of those is thrown.  Let’s look at how.

 

In Eclipse, switch to Debug Perspective.

image

 

Now locate the Breakpoint panel and the J! icon.  ( Intuitive eh? )

image

 

In the resulting dialog, in the Choose an exception text field, enter GdxRu*.  The asterisk is a wildcard, so it will return any Exception that start with GdxRu.  Click OK.

image

 

By the way, the default is *Exception*, meaning breakpoint on all Exceptions with the word Exception in them.  That sounds wonderful and all, problem is, it simply doesn’t work… yay Eclipse.  There is probably some 5 year old bug report somewhere explaining why.

OK, bitching aside, your exception list should now contain an entry for GdxRuntimeException:

image

 

Now right click the Exception and select Breakpoint Properties…

image

 

Make sure the following settings are enabled:

image

 

Now when you run the code again, the debugger will stop where the exception is thrown.

image

Wahoo!  Now that information is about 1000x more useful.  Now we see where our Exception is actually being generated.

 

A couple tips.

You can toggle the breakpoint exception off and on using the checkbox next to it in the breakpoint window:

image

 

Remember how I said earlier that setting *Exception* as the breakpoint simply doesn’t work?  So, what do you do if you want to stop on all exceptions?  You set a breakpoint on Throwable and set “Subclasses of this Exception” to true, like so:

image

 

Warning though, Exceptions are commonly thrown, so expect hit a whole lot of breakpoints!

 

I know this information is probably common knowledge to people that live in Eclipse, but for those of us that come from other IDEs, its frustrating until figured out, and certainly not intuitive to figure out.  Thus this post, hope a few of you found it useful.

Programming


3. March 2014

You can head over to their website and download it completely free.  RenderDoc in their words is:

Renderdoc™ is a standalone program that can be used to capture and replay frames from any Windows application using Direct3D 11.0 or 11.1, and provides tools for deep analysis and graphics inspection, as well as detailed examination of API usage - allowing developers to locate bugs and problems in their programs. 


Developed by Crytek, Renderdoc™ has been built from the ground up to reflect the real needs of graphics programmers, and has evolved based on its day-to-day usage in the creation of CRYENGINE titles. 


Plans are in place to increase Renderdoc™'s functionality over time, adding support for other platforms and APIs such as OpenGL. To contribute to the community and drive the future direction of the tool's development, join the discussion about Renderdoc™ at http://www.crydev.net/renderdoc.

 

There are a few more requirements listed on their RenderDoc discussion forums.

RenderDoc is a free standalone graphics debugger (not CRYENGINE specific) that currently supports D3D11. If you have a graphics issue you'd like to debug with your application then RenderDoc might be for you.


The latest installer for version 0.18 is available for download.


You should download the version that matches your operating system - 64bit or 32bit. The 64bit version of RenderDoc will be able to capture both 64bit and 32bit programs.


You will need the .NET 4 runtime, the VS2010 SP1 C++ redistributable and either the latest DirectX runtime or a recent version of windows that ships D3DCompiler_XX.dll. The Replay UI currently requires feature level 11.0 at minimum, so any hardware incapable of creating a feature level 11 device will fail to load any log.


To get started there is a quick start guide in the included documentation that you can follow. RenderDoc uses a capture-and-replay workflow, so you will need to launch your application through RenderDoc, then capture a frame to analyse it offline.

 

At some point in the future, the code is expected to be released on Github, for now, it is only home to the current bug list.

One important thing to note, is this product isn’t tied to CryEngine and can be used by any developer with a Direct3D title.

Below are screenshots of RenderDoc in action.

S1

 

S2

 

S3

 

High resolution versions of these images as well as the zip download are available on CryEngine.com.  The download is a single 12MB zip file.


GFS On YouTube

See More Tutorials on DevGa.me!

Month List