• Dear Cerberus X User!

    As we prepare to transition the forum ownership from Mike to Phil (TripleHead GmbH), we need your explicit consent to transfer your user data in accordance with our amended Terms and Rules in order to be compliant with data protection laws.

    Important: If you accept the amended Terms and Rules, you agree to the transfer of your user data to the future forum owner!

    Please read the new Terms and Rules below, check the box to agree, and click "Accept" to continue enjoying your Cerberus X Forum experience. The deadline for consent is April 5, 2024.

    Do not accept the amended Terms and Rules if you do not wish your personal data to be transferred to the future forum owner!

    Accepting ensures:

    - Continued access to your account with a short break for the actual transfer.

    - Retention of your data under the same terms.

    Without consent:

    - You don't have further access to your forum user account.

    - Your account and personal data will be deleted after April 5, 2024.

    - Public posts remain, but usernames indicating real identity will be anonymized. If you disagree with a fictitious name you have the option to contact us so we can find a name that is acceptable to you.

    We hope to keep you in our community and see you on the forum soon!

    All the best

    Your Cerberus X Team

Vortex2 beta released - 3D module

@JaviCervera So I found the scaling issue part which you already disabled, but the issue still exist as it seems..

https://github.com/JaviCervera/vortex/blob/master/src/bone.cxs#L205

Here's the result on the meshtool, you can see it kinda warps when running animations..

XTRa8A4.jpg


I have attached the ninja b3d model for reference and perhaps as an added example model that you can use for testing. Do you think this has something to do with the weight limits per bone?

https://www.dropbox.com/s/4zl59j8rb87163q/ninja.zip?dl=0

Thanks.
 
Thanks for the model. That's the same problem as with the zombie mesh. The weight limit per bone is 4, which should be enough (Blitz3D had the same limit). I am using linear blend skinning, which does not always provide satisfactory results when blending several weights, but this bug is too severe. I'll see if switching to dual quaternion skinning fixes it.

Also, I simplified the animation system in the hopes to make it slightly faster, but I have to revert to a more complex system.

Fixing the animation system and finishing the new shader system (which should work on Android) are my top priorities now, so after that I will release beta2. My holidays start tomorrow, so I'll work on this and try to get it done before the end of the year or on the first days of 2018.
 
Last edited:
Sure thing and that sounds great! Looking forward to the new animation and shader system.
 
@JaviCervera I am glad you still work on this. Regarding the object picking, I decided to NOT port my game Card rogues to CX and so I am in no need for object picking right now.
 
I have two games in mind that don't need object picking.
So i don't need it now but it will be useful in the future.
 
Hi, there!

Impressive piece of module! I actually love it. Thank you SO MUCH for the effort.:)
Is there any ETA for beta 2? I´m dying to see the new features.

Regards,
Amishara
 
I wish I could use this on a game idea I just had, but I can't seem to get animated meshes working :(

I have a (free) model I've got from the internet, edited / animated it on 3dmax - and exported it to b3d. Converted it with meshtool from /data folder, and the meshtool.exe shows the animated mesh (correctly, I think - it's too zoomed in so I can only see it moving)

But when I try to import it into a sample (the one with the soldier and the dwarf - I just change the dwarf for my mesh) - the mesh appears, but no animation plays... at all :(
The soldier is animated, but my mesh is sitting there, static :/

The converted model: https://drive.google.com/file/d/1M7ylz2Y6vxc5zmvL4m9HrVXx1rTQSmoP/view?usp=sharing
 
Beta 2 has been released. This release brings lots of changes. API should be more or less stabilized now:
  • Added vertex animation support (which is now the default in meshtool since there is a bug with skinned meshes)
  • Added animation sequences
  • Shadow tex size can now be changed at runtime
  • Sun distance can be specified for shadow calculation
  • Added Shader class
  • Added previous depth pass to avoid computing redundant fragments
  • Added different draw modes to surfaces (points, lines, triangles, triangle strip, triangle fan)
  • Math3D library has been completely rewritten
  • Renamed Material.BaseTexture to Material.ColorTexture
  • Added Material.SpecularTexture
  • Added Material.CubeTexture and removed Reflection and Refraction textures (now a material can only have one cubemap)
  • Added Material.CubeOpacity
  • Added Lighting and ReceiveShadows properties to Material
  • Added Shader property to Material
  • Returned to previous FPS based animation system, instead of the duration based one
  • Does not parse GL version on init anymore to prevent crash on some old Android versions
  • Reduced the number of shader uniform and varying vars needed
  • Added different shaders:
    - Minimal: No normal or specular maps, no cube mapping, no shadows
    - Minimal with shadows: No normal or specular maps, no cube mapping
    - Vertex lighting: No normal or specular maps
    - Pixel lighting
  • Per pixel lighting is now the default
  • Removed World.GlobalPixelLighting (You can do Shader.DefaultType(Shader.TYPE_VERTEX_LIGHTING) to switch to vertex lighting)
  • Removed Cache class (added undocumented CacheSound function and Load method in classes with an optional cache param)
  • Added Mesh.CreateQuad
  • The script convert2monkey now also converts demos (I forgot that!)
  • Removed cubemap support for Material.ColorTexture (skyboxes are rendered with a custom shader)
  • Removed "Set" from all methods
  • Added Material.SpecularPower
  • Made default Material.Shininess 0.001
  • Added Color.Multiply
  • Public Renderer class renamed Graphics
  • Removed Stats class (DeltaTime is now on World, the rest on Graphics)
  • Mesh.UpdateBoundingBox has been renamed to Mesh.Rebuild, and now rebuilds all surfaces
  • Cameras now adjust the view and ratio automatically if ViewportWidth, ViewportHeight or AspectRatio is -1 (which is now the default)
  • Changed binary font format. Fonts generated with previous versions won't render correctly anymore
  • Several bug fixes
  • Thanks to SLotman from the Cerberus-X community for his help on Android!
NOTE: No macOS binaries are provided since Cerberus apps do not seem to currently compile under Mojave. I will upload them as soon as I get fixed.

Grab it from: https://github.com/JaviCervera/vortex/releases/tag/v2.0.0-beta2

Sorry for being absent these past months. There have been many changes in my life (I have a new job and moved to another city).
 
Tested it on Windows and OSX, ran smootly as expected. What I noticed is that any 2D operation in 3D like printing FPS info could a lot of FPS. For an example, without text it runs at 2900 FPS, when printing the FPS it runs at 1500 FPS.
 
I applied the fix and it works. I have been working on Windows lately, and now I have tried Cerberus on my new MacBook Pro with a Retina Display and have noticed that the display is not correctly supported. Only the lower left quarter of the screen is rendered. Mojo samples are fixed after clicking on the window titlebar, but OpenGL apps (both the ones made in Vortex and the ones in the examples) remain using one quarter of the screen. This is probably an issue with the screen resolution reported by GLFW when setting the viewport, but is something that should be addressed if we want to support the majority of current Macs.

About the speed of 2D rendering, yes, it's less optimized than 3D rendering, and drawing a text basically requires one draw call per character, which is not the most efficient thing. While sprites can be easily optimized through batching, drawing dynamic text which could change every frame is trickier.
 
That retina issue is something i can't fix as i dont have a retina display. Are you on the latest CX?

Edit: I think we fixed that issue already. Which version of CX are you using?
 
Last edited:
I have V2018-08-10, which I think is the last one.

I have made a quickfix which is not the ideal one but at least is better than having only the lower left corner rendered. On "targets/glfw3/template/glfw3/src/cocoa_window.m", you can comment line 1057 and change the parameter on line 1058 to NO:

//if (wndconfig->ns.retina)
[window->ns.view setWantsBestResolutionOpenGLSurface: NO];

This uses scaled mode, so all pixels are doubled on retina displays, but making a full resolution window would take more work (probably changing DeviceWidth and DeviceHeight to return screen size in pixels instead of screen coordinates, something that can be done with glfwGetFramebufferSize).
 
Hi!
Could anyone tell me how to use this meshtool?
I just cannot manage to convert any file with it.It gives me a "MAV" every time.
It must be my lack of knowledge...
 
I tried to open the well known zombie.b3d and the dwarf.x files and even a custom b3d file that was a simple textured cube.And now I tried
a simple OBJ file as well.None of them worked.
But I just build the meshtool.csx file as a Desktop Game.I don't know if that's the right way to do that.
It points me to the 'Cerberus/modules/brl/datastream.cxs line 9' with a MAV.
 
Back
Top Bottom