1. Post #401
    sondre99v's Avatar
    January 2011
    75 Posts
    Is it just me, or do the caves become INCREDIBLY huge at a certain depth?
    From what I remember from coding the caves (it was a while ago ), the ratio of air/stone approaches 50% as you go down. So the caves at great depths is quite enormous yeah

  2. Post #402

    January 2012
    416 Posts
    If it happened by accident, looks pretty, and doesn't break something, label it a feature! lol.
    Reply With Quote Edit / Delete Reply Windows 7 Canada Show Events Dumb Dumb x 2 (list)

  3. Post #403
    Gold Member
    Matte's Avatar
    July 2009
    424 Posts
    If it happened by accident, looks pretty, and doesn't break something, label it a feature! lol.
    This is the essence of programming.
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Agree Agree x 4 (list)

  4. Post #404
    The Kakistocrat's Avatar
    November 2011
    1,353 Posts
    I tried to run this, but I got this error.

    Code:
    An error occurred while trying to run the game!
    
    	OpenGL version: 2.1.0 - Build 8.15.10.1883
    	GLSL version: 1.20  - Intel Build 8.15.10.1883
    	Vendor: Intel
    	Renderer: Mobile Intel(R) 4 Series Express Chipset Family
    
    Error Message:
    Error while compiling the vertex shader. This means that you probably have an outdated graphics card driver.
    
    Details:
       at Umbra.Structures.Graphics.Shader.CompileShader(String vertexShader, String fragmentShader)
       at Umbra.Structures.Graphics.Shader..ctor(String vertexShader, String fragmentShader)
       at Umbra.Structures.Graphics.Shaders.CompileShaders()
       at Umbra.Engines.Graphics.Initialize(EventArgs e)
       at Umbra.Engines.Main.OnLoad(EventArgs e)
       at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
       at Umbra.Program.RunEngine()
       at Umbra.Program.Main()
    
    
    Please report this error message.
    Thanks in advance!
    I updated my graphics card drivers, and I still got this. Is there anything else I can do?

  5. Post #405
    Gold Member
    Matte's Avatar
    July 2009
    424 Posts
    Are you sure you have the latest drivers for your graphics card? That OpenGL version is pretty old.

    Anyways, we have come a long way in terms of ray casting, so we should be able to post some progress on the matter soon. This new method of rendering will also support a much wider range of OpenGL-versions.

    Edited:

    Though I just might post this here too:


    Finally! We made it run smooth and lag- and artifactfree


    With landscape:

  6. Post #406
    Gold Member
    robmaister12's Avatar
    January 2008
    4,969 Posts
    The highest version I've ever seen Intel integrated cards support is 2.1... most of the time they'll only support 1.5 though.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 1 (list)

  7. Post #407
    The Kakistocrat's Avatar
    November 2011
    1,353 Posts
    Are you sure you have the latest drivers for your graphics card? That OpenGL version is pretty old.

    Anyways, we have come a long way in terms of ray casting, so we should be able to post some progress on the matter soon. This new method of rendering will also support a much wider range of OpenGL-versions.

    Edited:

    Though I just might post this here too:
    yes, I am. My computer just has a really bad graphics card.

  8. Post #408
    Gold Member
    Matte's Avatar
    July 2009
    424 Posts
    Success importing the shader to umbra engine! Now we only need to finalize our method for transferring world data to the graphics card memory. Don't mind the block cursor. It isn't consistent with what's being displayed at the moment.


    Runs well, too.
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Programming King Programming King x 5 (list)

  9. Post #409
    juGGa's Avatar
    April 2009
    2,060 Posts
    Excuse me, but did this die?

  10. Post #410
    Gold Member
    Matte's Avatar
    July 2009
    424 Posts
    Nope. In fact, we just made huge progress! We have implemented octree optimalization to our ray tracing engine. (It's still unoptimized optimization, though, if that makes any sense?)

    Here's a screenshot:


    The world here is 13x13x13 chunks, or 416^3 blocks, running with ray tracing at a "smooth" 30 FPS. (For some reason it jumped to 21 when I took the screenshot).
    When playing on a 5x5x5 world, you can expect around 40-60 FPS.

    And, don't mind the landscape artifacts. It's some bug with reading the data on the graphics card.

    But as I said, we still need to clean up here and there, and optimize the optimization.
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Winner Winner x 1Programming King Programming King x 1 (list)

  11. Post #411
    Gold Member
    Dennab
    January 2007
    4,091 Posts
    Yay

  12. Post #412
    Gold Member
    Umbra Fidelis's Avatar
    April 2011
    887 Posts
    It would be awesome if you guys could add modsupport or release the engine source code when you're done so all can benefit. Else i see no real potential in another minecraft engine.
    Reply With Quote Edit / Delete Reply Windows XP Denmark Show Events Agree Agree x 1 (list)

  13. Post #413
    Andrew McWatters
    Dennab
    March 2011
    4,658 Posts
    It would be awesome if you guys could add modsupport or release the engine source code when you're done so all can benefit. Else i see no real potential in another minecraft engine.
    essentially this

    creating a clone of existing work is pretty much worthless unless you allow others to see how you've done it
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 3 (list)

  14. Post #414
    Gold Member
    ana-r3x3a's Avatar
    April 2007
    343 Posts
    Introduction
    The Umbra Voxel Engine is a voxel engine my friend (sondre99v) and I are developing. We started developing the engine March 1st, 2011, and we are currently in alpha-phase.

    The engine may look a lot like other voxel engines such as Minecraft and Infiniminer at the moment, but this is mostly because we are currently “borrowing” textures from Minecraft. What will separate this engine from other voxel engine is its ability to generate a virtually infinite landscape in every direction. This includes, not only the X- and Z-axes (like many voxel engines to date), but also the Y-axis. This enables the player to build as high and dig as low as he or she could ever manage.

    What we hope to achieve before the beta-phase is a fully-fledged game engine which stands out in the current ocean of voxel engines. The engine will have small loading times where the landscape will be generated on-the-fly without the player experiencing lag of any kind. As mentioned, the player will have the ability to build and travel virtually endlessly in any direction. By using a complicated landscape generator, the engine will render beautiful landscape ranging from vastly deep oceans to mountains higher than the eye can see. A little further out, we hope to add scripting through Lua. We also aim to make an adventure game with a lot of adventure-like features, often reflecting needs we have in real life. These are needs like eating and drinking to stay alive.

    The development blog can be found here.

    Releases
    Can I contact you on steam? I'm currently attempting to make a voxel engine and I'm stuck not knowing how I should handle certain things.

    Voxel engines are tricky because everything has to be perfect or else you'll get lag.

  15. Post #415
    Gold Member
    Matte's Avatar
    July 2009
    424 Posts
    Can I contact you on steam? I'm currently attempting to make a voxel engine and I'm stuck not knowing how I should handle certain things.

    Voxel engines are tricky because everything has to be perfect or else you'll get lag.
    Sure. Steam name is azzi777.
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Useful Useful x 1 (list)

  16. Post #416
    firen00b6's Avatar
    August 2008
    299 Posts
    Yay! Something has finally been posted again! Now time to start watching this thread again.
    Reply With Quote Edit / Delete Reply Windows XP United States Show Events Late Late x 1 (list)

  17. Post #417
    T3hGamerDK's Avatar
    January 2011
    2,551 Posts
    If you guys ever get this working on Linux, I'll provide some feedback for sure!

  18. Post #418
    Gold Member
    mastfire's Avatar
    July 2008
    1,876 Posts
    what will the system requirements for this program?

  19. Post #419
    sondre99v's Avatar
    January 2011
    75 Posts
    Just made great progress!
    The raytracing-algorithm is now running almost perfectly, including octree-optimalization, textures, transparency and fog.

    Here is a 13^3 chunks big landscape:


    You can see a little bit into the water:


    And under water, you can see the land above you:


    Notice the pretty reasonable FPS in all three screens as well, there should still be room for some improvement though...
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Artistic Artistic x 6 (list)

  20. Post #420
    CmdrMatthew's Avatar
    August 2010
    1,179 Posts
    Notice the pretty reasonable FPS in all three screens as well, there should still be room for some improvement though...
    What kind of graphics card do you have? FPS alone isn't an indicator of performance.

    I'm curious to know how well ray tracing performs.

  21. Post #421
    sondre99v's Avatar
    January 2011
    75 Posts
    What kind of graphics card do you have? FPS alone isn't an indicator of performance.
    Running on an AMD Radeon HD 6970.

    what will the system requirements for this program?
    It does, at this point, require quite a bit of CPU and GPU power, but after some fine tuning, it should run smoothly on an oscilloscope. maybe...

  22. Post #422
    CmdrMatthew's Avatar
    August 2010
    1,179 Posts
    Running on an AMD Radeon HD 6970.
    Wow, thats some pretty high spec stuff. It doesn't sound like this will perform very well (at all) on average to lower end computers. :(

  23. Post #423
    Gold Member
    robmaister12's Avatar
    January 2008
    4,969 Posts
    Wow, thats some pretty high spec stuff. I don't think this will perform very well (at all) on average to lower end computers.
    It's still pretty good considering the hardware was built for polygon rasterization and not raytracing. I'm guessing they just draw a full screen quad (or to a framebuffer or something) and do all the raytracing in the fragment shader.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 1 (list)

  24. Post #424
    sondre99v's Avatar
    January 2011
    75 Posts
    It's still pretty good considering the hardware was built for polygon rasterization and not raytracing. I'm guessing they just draw a full screen quad (or to a framebuffer or something) and do all the raytracing in the fragment shader.
    100% correct! Check in for your price.
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Useful Useful x 2 (list)

  25. Post #425
    Gold Member
    Matte's Avatar
    July 2009
    424 Posts
    Update!

    We have now implemented a rudimentary version of Lua. The engine is essentially scriptable now. We have also moved the compass and crosshair from being hard-coded in the engine to being scripted gui-elements.



    Just look at those sexy scripted elements!

    A taste of ULua (or something); the script for the compass and crosshair.
    Code:
    -- compass
    local compass = {}
    compass.Size = vec2(144, 85)
    compass.Position = vec2(gui.ScreenWidth - 144, 0)
    
    function compassSetup()
    	compass.Texture = gfx:CreateTexture2D("content/textures/compass.png")
    end
    addHook("gSetup", "compassSetup")
    
    function compassDraw()
    	-- Draw frame
    
    	gfx:DrawSubTexture2D(compass.Texture, rect(compass.Position.X, compass.Position.Y, compass.Texture.Size.X, compass.Texture.Size.Y), rect(0, 0, 144, 85))
    	
    	local degrees = math:WrapAngleDegrees(math:RadiansToDegrees(-player.Bearing) - 62.0); -- -62.0 offsets the compass to show the right direction
    
    
    	local mainRectangle = rect(0, 0, 0, 0)
    	mainRectangle.Y = 85
    	mainRectangle.Height = 85 - 2 * 10
    	mainRectangle.X = degrees
    	mainRectangle.Width = 144 - 2 * 10
    
    	-- Draw main strip
    	local stripRect = rect(compass.Position.X + 10, compass.Position.Y + 10, compass.Texture.Size.X, compass.Texture.Size.Y)
    
    	gfx:DrawSubTexture2D(compass.Texture, stripRect, mainRectangle)
    end
    addHook("gDraw", "compassDraw")
    
    
    -- crosshair
    local crosshair = gui:CreatePanel("panel", nil)
    crosshair:SetSize(vec2(16, 16))
    crosshair:Center()
    
    function crosshairSetup()
    	crosshair:SetBackground(rect(0, 0, 16, 16), gfx:CreateTexture2D("content/textures/crosshair.png"))
    end
    addHook("gSetup", "crosshairSetup");
    These are just first generation scripts, and are probably subject to change.

    I've also just made a simple script to draw on the screen the last thing printed in the console:


    Code:
    local lastMessage = ""
    
    function Console(message)
    	lastMessage = message
    
    end
    addHook("iConsole", "Console")
    
    function MessageDraw()
    	gfx:DrawString2D(lastMessage, vec2(400, 400), color(255, 255, 0))
    
    end
    addHook("gDraw", "MessageDraw")

    I'm pretty excited, as this opens up a new, fun area of development. We can soon start scripting gamemodes and releasing alphas or betas which are scriptable.
    What we're working on right at the moment is porting things that should be scripted and not programming in the engine to Lua.

    We have also ported our form system to Lua, which is very similar to derma in Garry's Mod.
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Programming King Programming King x 7Winner Winner x 1 (list)

  26. Post #426
    It's like it's back from the dead or something. Great work!
    Reply With Quote Edit / Delete Reply Windows 7 Argentina Show Events Agree Agree x 2 (list)

  27. Post #427
    bobiniki's Avatar
    December 2009
    423 Posts
    Is it possible to build voxel models and save them to .obj files so that I can import the models in some 3-rd party program?
    Reply With Quote Edit / Delete Reply Windows XP Bulgaria Show Events Agree Agree x 3 (list)

  28. Post #428
    Gold Member
    Matte's Avatar
    July 2009
    424 Posts
    Update

    I made a simple inventory system. In addition, I also improved the implementation of Lua.

    The window to the right of the screen is an inventory coded exclusively in Lua. It's really simple, but a result of about 10 minutes of scripting.

    Edited:

    Is it possible to build voxel models and save them to .obj files so that I can import the models in some 3-rd party program?
    The voxels in our engine, you mean? In that case, yes, it should be possible. The voxels are stored in a raw data format, and should be quite easy to extract.

  29. Post #429
    Gold Member
    Matte's Avatar
    July 2009
    424 Posts
    Added functionality so that you can actually see what you have selevted, and fixed the way you pick up/place blocks.

    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Winner Winner x 3 (list)

  30. Post #430
    Gold Member
    Matte's Avatar
    July 2009
    424 Posts
    Due to some inefficiency in our implementation of Lua, we decided to switch to runtime compilation of C# as our scripting implementation.

    A taste of the Umbra scripting environment:
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Programming King Programming King x 1 (list)

  31. Post #431
    sondre99v's Avatar
    January 2011
    75 Posts
    More overlays moved to scripting
    Compass, Crosshair, FPS-counter, Inventory and diagnostics info are all drawn by scripts, that is, runtime compiled C# code.
    Also, the migration to C# "scripting" gave us an FPS-boost by 10 compared to Lua


  32. Post #432
    Gold Member
    thomasfn's Avatar
    July 2008
    2,960 Posts
    I have an idea. Switch to a polygon based renderer (it's simply faster than full raytracing, at least for this generation of hardware anyway), but keep the raytracing engine and use raytracing for lighting (and maybe water reflections?). You could get pretty cool ambient occlusion by tracing outwards from each face at mesh build time, and shadowed point/spot lights by tracing between each pixel in the light's radius and the light iself.
    Reply With Quote Edit / Delete Reply Windows 7 United Kingdom Show Events Agree Agree x 4Disagree Disagree x 3 (list)

  33. Post #433
    sondre99v's Avatar
    January 2011
    75 Posts
    I have an idea. Switch to a polygon based renderer (it's simply faster than full raytracing, at least for this generation of hardware anyway), but keep the raytracing engine and use raytracing for lighting (and maybe water reflections?). You could get pretty cool ambient occlusion by tracing outwards from each face at mesh build time, and shadowed point/spot lights by tracing between each pixel in the light's radius and the light iself.
    Seeing how the last 6 months or so has been used to move away from polygons, I don't think this is the first thing we want to try.
    Reply With Quote Edit / Delete Reply Norway Show Events Agree Agree x 2 (list)

  34. Post #434
    Tamschi's Avatar
    December 2009
    3,260 Posts
    Are those small red dots markers or tracing errors?

  35. Post #435
    sondre99v's Avatar
    January 2011
    75 Posts
    Are those small red dots markers or tracing errors?
    Those are unfortunately tracing errors caused by lacking floating-point-precision. They currently gets worse as you get farther from the origin, but we have some ideas about how to avoid this.
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Funny Funny x 2 (list)

  36. Post #436
    Gold Member
    thomasfn's Avatar
    July 2008
    2,960 Posts
    Seeing how the last 6 months or so has been used to move away from polygons, I don't think this is the first thing we want to try.
    While I appreciate you're trying to push towards what I believe is the future of 3d graphics, you can't deny that at this level of hardware polygon rendering is simply faster than raytracing. I'm not saying you scrap all your hard work, since the engine you built can still be used for lighting, but I believe a hybrid between rasterisation and raytracing is the only really feasible choice for now.

    I mean, how do you plan on adding non-cubic objects, such as wildlife?
    Reply With Quote Edit / Delete Reply Windows 7 United Kingdom Show Events Agree Agree x 3 (list)

  37. Post #437
    Gold Member
    bean_xp's Avatar
    June 2006
    196 Posts
    While I appreciate you're trying to push towards what I believe is the future of 3d graphics, you can't deny that at this level of hardware polygon rendering is simply faster than raytracing. I'm not saying you scrap all your hard work, since the engine you built can still be used for lighting, but I believe a hybrid between rasterisation and raytracing is the only really feasible choice for now.

    I mean, how do you plan on adding non-cubic objects, such as wildlife?
    No reason why they can't rasterise other objects over the top of the raytraced scene if the depth buffer is recorded. However I 100% agree with your other comments.

  38. Post #438
    sondre99v's Avatar
    January 2011
    75 Posts
    While I appreciate you're trying to push towards what I believe is the future of 3d graphics, you can't deny that at this level of hardware polygon rendering is simply faster than raytracing. I'm not saying you scrap all your hard work, since the engine you built can still be used for lighting, but I believe a hybrid between rasterisation and raytracing is the only really feasible choice for now
    I mean, how do you plan on adding non-cubic objects, such as wildlife?
    I agree that a properly written polygon renderer would probably be faster, and would use the hardware more efficiently. And would therefore have more success as a product. But this engine is not currently ment commercially, but rather as a proof of concept/programmimg exercise.

    In other news, matte has just made some progress with the raytracing algorithm, and has managed to implement a rudimentary version of Ken Silverman's voxlap algorithm. Secret screenshot: i(dot)imgur(dot)com/okSUZ (For people who is bothered to read a semi-long post.)

    About wildlife, the plan is to render more "stuff" with polygons and clip it using a depth-buffer created by the raytracer. However, this is not a current issue. Also, who says wildlife can't be cubical

  39. Post #439
    Gold Member
    thomasfn's Avatar
    July 2008
    2,960 Posts
    But this engine is not currently ment commercially, but rather as a proof of concept/programmimg exercise.
    In which case, keep up the good work - I've always been fascinated by RTRT in computer graphics.

  40. Post #440
    Gold Member
    Matte's Avatar
    July 2009
    424 Posts
    I'm not saying you scrap all your hard work, since the engine you built can still be used for lighting, but I believe a hybrid between rasterisation and raytracing is the only really feasible choice for now.
    Polygon rendering might be faster, but I wouldn't say it is the only feasible choice... I just made great progress on our ray tracing engine, and pretty much doubled our FPS:



    And there should still be room for more improvement.
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Programming King Programming King x 11 (list)