StoneVox 3D - Community Voxel Modeler for StoneHearth

I meant you could type /openglsupport into StoneVox’s console window. This would then print out info about your hardware for you… this is mostly for users who are not aware of what graphics card they have and what version of OpenGL the card supports. But it also does some other stuff which is use full too.

You could run the test if you want…

Anyway… :wink:

This is absolutely the problem then. I lowered the OpenGL requirement from 4.2 to 3.0, but it’s still not within the range your hardware supports. If I skip out on some fancy tricks I could lower the version requirement to maybe 2.0, then there would be good chance you could run StoneVox.

Thanks @Wiese2007… I’ll be taking this all into consideration when I look over hardware compatibility again. :slight_smile:

thanks for the explination xD here is the log :wink: i know that amd now supports 4.2 at new cards but in the official technical and forum they say everytime only 2.1 ^^

LOL :slight_smile: yeah everyone is always saying different things… multiple of my sources on top of what the driver is returning all say 4.4… but still the program doesn’t work for you so it’s a confusing issue. :frowning:

http://feedback.wildfiregames.com/report/opengl/device/Radeon%20HD%205700

Perhaps is has something to do with Windows 8… but I’ve done testing with others running 8.1 with no problems…

I’ll google around for a bit… :wink:

3 Likes

lol wiki has better informations then the dev-website LOL ^^

1 Like

Man! Just after I write a tutorial that uses the old version of StoneVox.

But, how can I complain :slight_smile:

downloads the new version

2 Likes

Don’t worry too much… the new SV will function, as far as the user is concerned, almost exactly the same as the old one … once I actually finish it. :wink:

Thank you for writing a tutorial :slight_smile:

2 Likes

I can confirm that the new version appears to function on my hardware (see my discourse profile for specs). Good luck, @honestabelink!

1 Like

Oh, is this that optimized version? (or that test we did before?)

Well, Good job! i’m really looking forward to it!

And i’ll be looking forward for that other things!
I know the guy behind the kirten!
(well… not all of them i suppose…)

3 Likes

This version has some optimizations over what I’ve showed you last. :slight_smile:

I can indeed take it much further… in theory in my head I could reduce my memory footprint per voxel face down to 20 bytes, from the 112 it is still sitting at. Though I have done other tricks that greatly reduce your normal RAM usage.

Possibly even lower… like 5 bytes I think LOL :slight_smile: But that’s crazy man who lives behind the curtain talk.

3 Likes

I’m having some problems running this

when i translate the Korean
it says something like…

unfinished exeption : System.badimageFormatException: tried loading the program in the wrong format
<exption caused Hresult: 0x8007000B>

     location: Stonevox.Program.encrypt <starting ip>
     location: Stonevox.Program.Encrypt <starting ip>
     location: Client.defaultConfigure<>
     location: ConsoleCommands._startclient<>
     location: System.threading.ExclutionContext

… read the rest yourself pleas… (위치 = Location)

2 Likes

download this version on my work pc, it dosen’t open any exe file. this one is a bad pc

2 Likes

Really this can point to a few different things…

My guess would be trying to execute a x64 assembly in a x86 environment. Or something along the line of that…

I believe I asked you before… but I don’t remember. Are you running x64 Windows?

One of the other differences with this release over the one I showed you previously was a change from x86 to x64. So it’s somehow the culprit :wink: .

Beyond that, really the culprit is me fooling around with putting some encryption functions in a c++ dll, then importing those into C#. This was not necessary and was just for fun… and an extra layer of protection.

See…

This new version of StoneVox will include a lot of networking code to allow users to build and share together. With that IP addresses need to be exchanged in order to connect with one another.

when is the last time you’ve given your IP address to someone else… not that often

Truth is your IP address is public and is exchanged every time you visit a website. There is nothing secretive about it. But still like anything it can be used for bad…

Giving your IP address to someone on the internet could be like, letting the bully on the block know where you live. You still have the protection of your home but it is just a better idea that he doesn’t know.

That is why the encryption code exists and is implement in c++. Mainly I just didn’t like the idea of my users exchanging directly their IP’s.

Really though when it comes down to it… people using the networking features will be connecting with people they know.

My new idea going forward is to removed the c++ encryption to something in C#, on top of that the “server” will discard any connection that isn’t on a “white list” stored on your computer.

That way unless you must explicitly say “person A” can connect… “person A”'s attempt to connects will fail.

Thanks though @Hyrule_Symbol again this is the feeback I am looking for, knowing this I can make the best software available to you guys. :slight_smile:

maybe not… perhaps I’ve done something wrong. What happens when you try to run the .exe.


@Wiese2007 an intersting problem in your case is that @Moai has pointed out he is running the same series graphics card as you without issues. Really one big difference between his and your setup is he is running Window 7 and your on Windows 8… I from the beginning wanted to just blame Windows 8 somehow… but I could justifiably do it… can I now :wink:

I’ll be looking more into the cause but I am certain it is something very specific… could be hard to identify :frowning:

When I have the free time I’d like to do some testing with you to see if we can find the issue. If that’s ok :wink: .

5 Likes

yes that shouldnt be the prob :wink:

i have it ^^ i start it with the compatiblity for windoof 7 and now its loads the qb :smiley: ok now is the question shouldnt there any UI? i can only load the qb and see a read square if i wandering about the voxels ^^ ok forget it ^^ i have read your relasepost again xD

1 Like

LOL… :slight_smile:

I love how sometimes it’s such simple things we could do that make difference. I’ll keep this in mind if others have the same issue.

Thanks for the follow up @Wiese2007 :slight_smile:

Again even though you got it working, I still want to understand what was the cause of the issue, I’d still like to do the tests at some point. But this has given my ideas as to what could be the problem. :wink:

No, there is no UI yet… UI is the last thing on the list :wink:

There is still plenty of work to done… this version right now is mainly to test hardware/system compatibility.

Thanks again @Wiese2007

1 Like

i have to thank you :wink: sooo now i should go to bed… F*** in 3 hours its 4am and i must wake up for work LOL ^^ its like the whole week i cant stop to translate or test :blush: Good Night ^^

1 Like

I think I’ve found a bug with the .obj exporting in StoneVox v0.0.6.

Half of the “panels” are flipped wrong way around. In programs like Blender, which show both sides of a panel, this isn’t much of an issue, but other modeling software only show panels from one side.

This is how it looks in stonevox:

But when I import it into Unity3.4, it looks like this:

As you can see the front and right panels are flipped… also it isn’t colored correctly, lol.

Unity also gives me these errors:

Something about meshes and normals, lol.

This could be a Unity problem, since I am using an old version, but I thought you might like to see it just in case it isn’t

2 Likes

This has to do with a rendering optimization called culling, in particular back face culling of polygons.

Unity is a game engine and therefore optimized to use techniques to reduce poly counts.

The result in what you’ve seen in Unity is caused by culling/removing polygons that have a counter clockwise winding from the camera’s orientation.

Basically everything in 3D rendering is made up of triangles. Triangles have 3 points ;). By “clockwise winding” I am referring to the order of those points (vertices).

Here is an example. Both are the same triangle but they both have a different vertex “winding”.

Essentially what I am getting at is the order at which the points (vertices) that make up a triangle (polygon) are set to the graphics card matter. If that order is found be counter-clock wise the triangle isn’t drawn. Therefore increasing rendering performance. :wink:

Typically modeling software ignores culling all together… but it’s definitely a technique that every game uses and further more especially the rendering sledge-hammer that is called Unity.

StoneVox isn’t concerned with this order really though… mostly I use the order I do now to do some lighting tricks.

What you’ve pointed out I am aware of and shouldn’t be any issue to SH, StoneVox was never made to be the next best voxel modeler

The other issues with color missing and such are just me not providing Unity with the things it is looking for, basically my .obj exporter produces a watered down version of a .obj. Blender, 3ds Max though both load my .obj's just fine. :wink:

In the future I will be dropping support for the .obj exporter in favor of a built in animator right inside StoneVox. This will simplify the work flow greatly.

Sorry if you were trying to use StoneVox to create .obj's for other purposes. I will not be supporting this at any point.

As a work around you could open the .obj in Blender or Max and mirror the front and back polygons and then re-export the .obj. That should correct the culling issue… though the color’s will still be missing… and that would be quite the tedious task in Blender or Max… but you could have them also generate UV coords for the entire model. Then produce a texture file and match the UV’s over the colors to get the colors where you want…

In Max you can use UV-Map… I believe it’s called to generate the UV’s.

Then again in Max applying the UV-UnWrap modifier and moving all those UV coords around over the colors in the texture file you’ll have to produce.

Making the texture file is simple, it would just be a .png with all the colors need. Literally you could use just 1 pixel of the .png for each color.

Hope that all makes sense.


Perhaps I am carrying on too much :smile:

This is what a shader in Unity with culling turned off looks like.

Shader "NoCull/Diffuse" {
Properties {
	_Color ("Main Color", Color) = (1,1,1,1)
	_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader {
	Tags { "RenderType"="Opaque" }
	LOD 200
	Cull Off

CGPROGRAM
#pragma surface surf Lambert

sampler2D _MainTex;
fixed4 _Color;

struct Input {
	float2 uv_MainTex;
};

void surf (Input IN, inout SurfaceOutput o) {
	fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
	o.Albedo = c.rgb;
	o.Alpha = c.a;
}
ENDCG
}

Fallback "VertexLit"
} 

Source for any of Unity’s shaders can be found here

I added literally one line… :wink:

Documention
http://docs.unity3d.com/Manual/SL-CullAndDepth.html

Good luck with whatever you are up too :slight_smile:
Though I’d say I am interested otherwise I wouldn’t have gone into such a detailed post.

6 Likes

Thank you for the in-depth response, I now understand it a lot better =D

And I completely understand not making StoneVox for other endeavors, That’s not it’s primary function ^^

As for what I’m doing… Basically I’ve started following some tutorials about game making (GTGD mostly), and I was getting tired of watching plain capsules on the screen, so I figured that I would just make a quick model and throw it in instead. Turns out it wasn’t quite that simple, but I did succeed in the end =]

So now, instead of pills shooting each other with invisible guns, I have cute little robots which fire lasers from their eyes =D

4 Likes

The free version of Unity is great for getting right into 3D rendering and higher level languages like C# or Java.

Is a great tutorial the people at Unity have thrown together.

One thing that is critical to 3d rendering is not having to stream vertices to the graphics card every frame. This is something the free version of Unity forces you to do. You will easily reach a bottle-knock in your program from it. Eventually you’ll hear like a hissing sound from your graphics card if you push it too far.

The paid version though allows you to specify an object as static… meaning it’s data is uploaded to the graphics card one time. From there Unity’s internals can telll your graphics card to redraw it over and over and over, without the need to re-send all the data again.

this is also from my experience years and years ago… maybe they allow it now…

This concept of using the graphics card RAM to hold 3D data is extremely crucial to producing a game with a decent frame rate. This was something in the past that was never explained to me… and I found out the hard way years later while later learning how to do things on my own.

Though :slight_smile:

Unity free is great and can be an awesome learning tool.

Best of luck :wink:

:smiley:

4 Likes

Thanks for the links to the tutorial and all the info =]

I just looked it up, and you are right, only the pro version supports static batching.

Unity is most likely just going to be a stepping stone for me. I already know some programming, mostly java, and how to create graphics and such, but putting them all together is what I need to learn how to do now, and unity is helping with that.

Last summer I tried making a game in java, using a special library… I can’t remember which one. I made a pretty cool looking menu, but that was as far as I got. It was really hard to find tutorials or instructions on how to program a game in java. Most of the ones I found, the people teaching just seemed to be guessing as they went, and it seemed like everybody had a different way of doing everything. xD

Hopefully, after I go through some Unity tutorials, I’ll have a better understanding of how everything fits together on the programming side of things. I’ve already learned a bunch. ^^

EDIT: The library was LWJGL. I was going to use it to make a 2d zelda-like game called SummerSage =]

4 Likes