Jump to content

  • Log In with Google      Sign In   
  • Create Account

Ohforf sake

Member Since 04 Mar 2008
Offline Last Active May 30 2016 02:39 PM

Posts I've Made

In Topic: Someone explain this thing about manual transmissions to me...

13 December 2015 - 08:54 AM

I'm amazed no one else has pointed this out yet, but does your girlfriend want to drive manual? I prefer manual (my only automatic experience was a rental in america) and I love to drive, but I wouldn't buy a car that my girlfriend refuses to use.

Now if we could just get rid of ABS brakes, so the wheels would lock up properly, I'd be happy.

Heh, if only you could explain that to the insurance company. In my car, the ABS has this issue that once it kicks in, it won't let go unless you release the brake. Which means that if you break over a pothole or railway track, you loose most of your breaking force until you gain the mental presence to let go of the break and hit it again. Which is exactly what ABS is supposed to prevent.
It's a VW btw...

In Topic: GCC auto vectorizer alignment issues

10 August 2015 - 05:21 AM

Thank you all for the feedback. ISPC looks interesting, but sadly the code is part of an elaborate template mechanism right now, so ISPC isn't really an option there. But it looks like a tool worth keeping in your toolbox.

I was hoping that auto vectorization had progressed further after seeing some pretty impressive vectorizations for ARM-NEON. But given how fragile it is, also in your experience, I guess I'll go back to intrinsics.

In Topic: Ideas for a seminar in computer graphics

19 April 2015 - 04:26 AM

Two months is not a lot of time, especially since you (presumably?) won't be working full time on it.


Anyways, here are two programming heavy ideas from the top of my head:


Global Illumination is kinda hard, especially given your limited time frame and experience. However, this comes to mind:


It is a neat approach that might be feasible in the two months if you push yourself a bit. There seems to be code if you get stuck and you might be able to come up with some creative improvement.


Another idea I always wanted to implement that involves light, although in an unusual way, would be a content creation tool that helps with texturing models. Usually, triangle meshes are unwrapped and then the textures are painted directly. You could create a tool where instead of directly painting the final texture(s), you set up a couple of projectors around the object, like spot lights which project an image (hence the need for light and shadows). The artists would then paint the images of those projectors and the final model textures would be baked by your tool. To some degree this is already supported in the major modelling packages but you could enhance it by allowing projectors to mix and combine colors so that reusable dirt or rust decals can be added on top. You could also allow the projectors to not only affect the color textures, but also the textures for the other material parameters.

The downside is that such a tool can be rather GUI heavy. The upside is that you can easily "scale" the project according to your progress. Eg start with a purely non-gui application that reads the projector positions and mesh from a blender export, displays a preview, and performs the bake. Then add features like GUI, different projector types, etc until the two months are over.

In Topic: Normal Map Generator (from diffuse maps)

18 April 2015 - 07:42 AM

Thanks for sharing your code.


However, I do share the sentiment of the others that this is can be a bad idea. While it is true that 99% of all players, artists, and programmers won't be able to tell that the normalmaps are broken, they will be able to tell that it looks bad, or at least not "right". Trust me, I've been there, done that. Also on a commercial project.


The real problem comes later though. Once a significant amount of all materials have broken normalmaps, the spec/gloss maps are adapted to it to somehow counteract the effect. Then the lighting. All of a sudden you can no longer change individual assets to "good" normalmaps because it would break the entire setup. And before you know it, "bad looking" becomes your new art style that every new asset has to adhere to, because otherwise the game would not look coherent.


If you don't have the time or ressources to make actual normalmaps, then not using normalmaps or using funky normalmaps might be the right choice. There are very good looking games out there that aren't photo realistic. But it should be a conscious choice.

In Topic: C++ cant find a match for 16 bit float and how to convert 32 bit float to 16...

11 April 2015 - 03:00 AM

For large amounts of data, there are also SIMD intrinsics that can do this:

half -> float: _mm_cvtph_ps and _mm256_cvtph_ps
float -> half: _mm_cvtps_ph and _mm256_cvtps_ph
see https://software.intel.com/sites/landingpage/IntrinsicsGuide/

Oh, I just noticed you aren't doing this on a PC. But some ARM processors support similar conversion functions. See for example: https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html