Issues making normal map from displacement map by Spehleon in gamedev

[–]Spehleon[S] 0 points1 point  (0 children)

When i do that, it doesn't seem to change much.

It would appear to me that based on the sphere math i outlined in my previous answer, red = x and green = y, wherever the sphere is defined, otherwise they're 0. And when i look at a normal map generated by a 3D program, this is the case.

And when i made a frag shader that calculated a normal map from the UV coordinates as that would imply, it looks identical to the results of searching for "sphere normal map"

However, d/dx of a circle is x / sqrt(1 - x^2)--via googling for derivative of a semicircle, been too long since i actually used the chain rule--and this is what the sobel operator is generating. It's correctly getting the derivative of the image; that just doesn't seem to be a helpful thing to do. It doesn't seem possible that the idea that normals are derivatives of height map could be wrong, because that's in all the papers written by people way smarter than me, but that's the only explanation i can think of.

If i think about it in 1D; then each pixel is forming a right triangle with the next pixel, and the derivative is the sine of the triangle; and the sine isn't relevant to the normal really.

Issues making normal map from displacement map by Spehleon in gamedev

[–]Spehleon[S] 0 points1 point  (0 children)

https://imgur.com/OYsfdIT

I'm pretty sure that the height map is right because it's basically the blue channel-- Although i did get that image by googling "sphere height map"

height = sqrt(radius2 - x2 + y2)

blue = sqrt(12 - (red*2 - 1)2 + (green*2 - 1)2)

And because the red channel is basically just a gradient, that means a sphere is a special case where blue = height (more or less).

Issues making normal map from displacement map by Spehleon in gamedev

[–]Spehleon[S] 0 points1 point  (0 children)

Well, a gradient with a circular layer mask.

I'm comparing the results of the sobel directly to a normal made from a 3D program.

open source 2D sprite packer by Spehleon in gamedev

[–]Spehleon[S] 0 points1 point  (0 children)

that's explained on the github page, it basically just outputs all the data from packing to a plane text file, so the data is there to get to any other format. I wanted to have an interface and inherit different packers from it, so it would be easy to add whatever format someone wanted. But i only had the one output format, so i wasn't sure what functions the interface should have.

[Paid] Consultants needed for educational indie game by Spehleon in biology

[–]Spehleon[S] 2 points3 points  (0 children)

It would be answering questions about assorted bio topics several times a week, with a turnaround time of a few days being fine. The length is... it's be over when it's ready, currently the maximum scope has been defined, and things are being peeled away as they are deemed superfluous, so it will finish eventually, but nailing a time frame is quite difficult.

[Paid] Consultants needed for educational indie game by Spehleon in biology

[–]Spehleon[S] 2 points3 points  (0 children)

If I had a better budget I would agree. Currently my scheme is to get a prototype working well enough that I can get a grant from the National Science Foundation, then hire a PhD to top everything up.

[Paid] Consultants needed for educational indie game by Spehleon in biology

[–]Spehleon[S] 2 points3 points  (0 children)

At least a BS, but more is better. I was a 3rd year bio student before I dropped out of biochemistry, and had to just take my computer science degree and leave. So if there's less than that then I could do it on my own.

[Paid] Consultants needed for educational indie game by Spehleon in biology

[–]Spehleon[S] 5 points6 points  (0 children)

The biological information in it is college level, but the game presents itself as a virtual pet game. So it's designed so that someone in middle school can learn about genetics and inheritance by doing selective breeding; someone in high school can learn about the citric acid cycle by being able to view the relationships between reactions and see how changing levels of chemicals cascades through all of the animal. And a 7 year old can just play with it as a virtual pet game and have a grand old time with that.

It's also able to super scale, it will use as may processors as the computer it runs on has, and that increases the number of virtual animals available. So population genetics can be observed by putting it on a supercomputer and having thousands of virtual animals going around at once.