Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 17 Apr 2012
Offline Last Active Jul 29 2014 11:34 AM

Posts I've Made

In Topic: Olypsum - a Free 3D Cross Platform Game Engine

29 July 2014 - 11:37 AM



well it supports collada for 3D models (which I usually export from Blender).

I forgot to mention the formats. I added them in the first post.


You can make a terrain using a array of ascii numbers or a gray scale image as heightmap.

The documentation is unfinished but you can take a look at the "Resources" folder that is delivered with the download and contains some examples.

In Topic: Olypsum - a Free 3D Cross Platform Game Engine

29 July 2014 - 09:58 AM

Oh, jup fixed that.

Sometimes the server infrastructure crashes and I don't know why (yet).


Also I'm not quite sure if the ubuntu package works as I never tested it on another computer.

Would be nice when someone would verify it.

In Topic: B-Spline Surface Normal

02 May 2014 - 05:08 AM

Mathematically you are correct, but the terminology is wrong.

There is a difference between Bézier curves and B-splines (both 2D).

And their higher dimensional counterparts Bézier surfaces and NURBS (both 3D).

A B-spline is made of multiple weighted bezier curves, broadly speaking.


But the equations you have there seem like they belong to a Bézier surface not a B-Spline surface (or NURBS).

Their derivatives can be calculated with different approaches. I think using De Casteljau's algorithm is a easy one.

For example, exactly calculating the derivative in the direction of u:

float s = 1.0-u, t = 1.0-v;
Vector3 points[4];

for(unsigned int i = 0; i < 4; i ++) {
    unsigned int i4 = i+4, i8 = i+8;
    Vector3   a = controlPoints[i ]*t+controlPoints[i4]*v,
              b = controlPoints[i4]*t+controlPoints[i8]*v,
              c = controlPoints[i8]*t+controlPoints[i+12]*v,
              d = a*v+b*t,
              e = b*v+c*t;
    points[i] = d*v+e*t;

points[0] = points[0]*s+points[1]*u;
points[1] = points[1]*s+points[2]*u;
points[2] = points[2]*s+points[3]*u;
points[0] = points[0]*s+points[1]*u;
points[1] = points[1]*s+points[2]*u;

return (points[1]-points[0])*3;

for the other derivative you would have to swap u and v and flip the order of the control points.


I'm preoccupied in this topic for a while now because I'm trying to write a Bézier surface raytracing algorithm.

What are you planing to use them for?

In Topic: Have you made a game engine

10 January 2014 - 02:14 PM

Could you explain this? My hobbyist development is based on gcc on Windows (precisely because the C++11 support in MSVC is not very good) but I have absolutely no problem compiling code or linking with system libraries. Actually, with the exception of debugging (where MSVC is far superior) I'm not missing anything.

Well, the developers of Microsoft thought that it would be best practice when they wouldn't follow the standards exactly but put some unnecessary "language features" in the header files of their libraries so that no compiler, which is conforming to standards (like GCC or Clang) could link against it.





Microsoft developed a new C++ template library for Windows 8 called WRL (Windows Runtime Library) that does support targeting Windows 8 without using C++/CX extensions.

Sadly I never found a nice way to avoid C++/CX on Windows 8 so far and writing a DLL as a wrapper around WinRT just to have it in normal C++ isn't really what I was looking for.

But maybe you could give me a hint to a solution...


I might be a bit sarcastic, but I think they did it on purpose to protect their beloved platform Windows from "evil intruders" and people like me, who think they could get around the MSVS compiler.

In Topic: Have you made a game engine

10 January 2014 - 05:29 AM

most of 11 is well supported

Well, that depends on the compiler you are using.



As you can see, GCC and Clang are the leading ones, MSVS has still big gaps to fill ...



@ Lichtso Deferred lighting isn't that difficult (Don't get me wrong it's not that easy either).

You are right, it is not impossible and I managed to implement it in the end.

But have you ever tried to combine deferred lighting and transparency?



DSSDO instead of SSAO, there tons of examples out there and a massive CryTek presentation on how it fits together. Great for a small mental hernia, but very much possible to implement, there is source code out there for it I'm sure you can reverse engineer it.

I didn't know of "DSSDO" before. Learning never stops.

I just implemented my own type of SSAO also using normal buffer and depth buffer, so I guess it is similar to DSSDO.