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…
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.
This version has some optimizations over what I’ve showed you last.
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 But that’s crazy man who lives behind the curtain talk.
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 .
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.
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.
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
I’ll be looking more into the cause but I am certain it is something very specific… could be hard to identify
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 .
i have it ^^ i start it with the compatiblity for windoof 7 and now its loads the qb 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
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.
No, there is no UI yet… UI is the last thing on the list
There is still plenty of work to done… this version right now is mainly to test hardware/system compatibility.
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.
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.
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
This is what a shader in Unity with culling turned off looks like.
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
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.
Unity free is great and can be an awesome learning tool.
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 =]