1. Post #1
    icefire.wi's Avatar
    August 2010
    38 Posts


    For some time now me and a friend are working on a project in Pixellight.
    The more we understand it the more awesome it gets.
    And it seems that not many people know about it.
    People know about Ogre3d, Irrlicht, SFML and so on, but not this.


    I made this small video to show what can be achieved in 1 hour alone with basic understanding of XML (that's one of the many ways scenes can be written in).
    There is also an advanced 3ds Max exporter so you can export your models / animations / scenes and more straight to Pixellight.

    A simple feature list can be found here > http://www.pixellight.org/site/index.php/page/12.html.
    For a detailed feature list look here > http://pixellight.sourceforge.net/do...htFeatures.pdf.
    Code API can be found here > http://pixellight.sourceforge.net/do...0.0/index.html.

    Its from what i have experienced an amazingly well documented structure and code.
    The video depicts the Pixellight Viewer which is the main front-end tool to preview test and debug scenes.

    The Pixellight developers also have some videos on their own channel > http://www.youtube.com/user/pixellight3d.

    These 2 are recommended to watch.



    This engine / framework has been around for some time now, only never gets the attention that it deserves.
    If you want to try development give this one a try, i for one am not disappointed.

    http://www.pixellight.org

    If you have any questions ask them, i cannot claim to know everything but i will answer what i can.


    # Updates


    [February 23, 2012]
    0.9.11-R1 update released

    [February 24, 2012]
    New demos released: http://www.pixellight.org/site/index.php/page/25.html

    [March 15, 2012]
    I've released a Berkelium plugin for PixelLight https://github.com/PixelLightCommuni...gins/berkelium

    [August 23, 2012]
    1.0.0-R1 update released changelog


    Reply With Quote Edit / Delete Reply Windows 7 Netherlands Show Events Informative Informative x 13Programming King Programming King x 1Disagree Disagree x 1Agree Agree x 1 (list)

  2. Post #2
    Gold Member
    BlkDucky's Avatar
    May 2008
    6,485 Posts
    installing the SDK because I have nothing better to do
    Reply With Quote Edit / Delete Reply Windows 7 United Kingdom Show Events Informative Informative x 3Funny Funny x 2Agree Agree x 1Programming King Programming King x 1 (list)

  3. Post #3
    Gold Member
    thomasfn's Avatar
    July 2008
    2,959 Posts
    I've been playing about with this.

    Is there somewhere where I can find a list of scene node classes and their attributes?

    Also how do you change the ambient light colour for the scene?

  4. Post #4
    icefire.wi's Avatar
    August 2010
    38 Posts
    I've been playing about with this.

    Is there somewhere where I can find a list of scene node classes and their attributes?

    Also how do you change the ambient light colour for the scene?
    Scene node classes > http://pixellight.sourceforge.net/do...cene_node.html
    Also scene node classes are prefixed with 'SN' > http://developer.pixellight.org/wiki...ry:Programmers (Wiki is somewhat outdated and needs to be worked on)

    As for the ambient light, use this line for example

    Code:
    <Node Class="PLScene::SNKeyValue" Name="SceneRendererVariablesKey" Key="SceneRendererVariables" Value="AmbientColor=&apos;0.4 0.4 0.4&apos;" />
    <!-- This type of scene node can be used to put additional 'key/value'-based information into scenes. -->
    You can put it in your scene *.XML in the first scope
    Reply With Quote Edit / Delete Reply Windows 7 Netherlands Show Events Useful Useful x 1 (list)

  5. Post #5
    icefire.wi's Avatar
    August 2010
    38 Posts
    [h2]Version 0.9.11-R1 has been released![/h2]PixelLight

    Changes in PixelLight 0.9.11-R1 (released on February 23, 2012)
    - Feature: Beside "Scene" and "Script", "PLViewer" is now also able to load in "Mesh", "Material" and "Image" (= texture)
    - Feature: Within the PLFrontendQt adapter project, there's now an interactive realtime RTTI browsing GUI
    - Feature: Added dock widgets to the PLFrontendQt adapter project which can be instanced and used via the PixelLight RTTI system in a generic way
    - Feature: Added Qt based PixelLight viewer named PLViewerQt which is similar to the minimalistic PLViewer, but more advanced and with support for the PLFrontendQt dock widgets
    - Feature: "PLRenderer::VertexBuffer": Added support for the "half" data type (16 bit floating point)
    - Feature: "PLRenderer::VertexBuffer": Added generic comfort methods "GetFloat()" and "SetFloat()"
    - Feature: Implemented "PLCompositing::SRPBackgroundColorGradient" which can be used for a simple color gradient background
    - Feature: It's now possible to create RTTI class instances via script
    - Feature: Added position, rotation and scale transform gimzo scene node modifiers
    - Feature: Added "Fast Approximate Anti-Aliasing" (FXAA) support within "PLCompositing"
    - Feature: Added volume texture compression (VTC, "GL_NV_texture_compression_vtc"-extension) support
    - Feature request ID: 3486884: Added "PLCore::MemoryManager::Move()"
    - Feature (Windows): Added support for "LuaJIT", a Just-in-time (JIT) compiler for Lua
    - Change (Windows): Updated Qt from "4.7.0" to "4.8.0"
    - Change: Updated from "Cg Toolkit 3.0 - February 2011" to "Cg Toolkit 3.1 - February 2012"
    - Removed: "PLViewerStandalone", use "PLViewer" instead and provide "PLViewer.cfg" in it's executable directory for standalone-mode
    - Bugfix: "PLRendererOpenGLES2" font rendering worked on "Tegra 2", but failed on "PowerVR SGX 540"
    - Bugfix: Now taking into account odd OpenGL ES 2.0 "gl_FragColor" behaviour on "LG P920 Optimus 3D" (PowerVR SGX 540, Android 2.3.5, "Link Error: Fragment shader was not successfully compiled.")
    - Bugfix: "PLRenderer::VertexBuffer::ClearVertexAttributes() " was not resetting the size of the vertex buffer
    - Bugfix: Indices were swapped within "PLMath::EulerAngles::ToMatrix()" and "PLMath::EulerAngles::FromMatrix()" resulting in the inverse of the orthogonal rotation matrix



    Reply With Quote Edit / Delete Reply Windows 7 Netherlands Show Events Artistic Artistic x 3 (list)

  6. Post #6
    Gold Member
    Jookia's Avatar
    July 2007
    6,768 Posts
    Why use this?

  7. Post #7
    Gold Member
    BlkDucky's Avatar
    May 2008
    6,485 Posts
    installing the SDK because I have nothing better to do
    I still haven't looked at it.
    Reply With Quote Edit / Delete Reply Windows Vista United Kingdom Show Events Informative Informative x 2 (list)

  8. Post #8
    icefire.wi's Avatar
    August 2010
    38 Posts
    Why use this?
    - Open Source (http://www.gnu.org/copyleft/lgpl.html)
    - Cross Platform
    - Roughly 10 years in development
    - C++ based
    - RTTI based plugin support (http://en.wikibooks.org/wiki/C++_Programming/RTTI)
    - Assimp support (http://assimp.sourceforge.net/main_f...s_formats.html)
    - Lua / Python / AngelScript / JavaScript / XML support
    - 2D & 3D capabilities
    - Mobile support (Android, iOS)
    - WiiMote support
    - 3ds Max export plugin
    - Socket, IRC, Jabber capabilities
    - OpenGL, Directx3D capabilities
    - Qt Nokia capabilities (http://qt.nokia.com/)
    - SQL, MySQL capabilities
    - Physics (Bullet, Newton, ODE, PhysX)


    Why not?

  9. Post #9
    Gold Member
    Jookia's Avatar
    July 2007
    6,768 Posts
    It seems to have unnecessary features compared to OpenSceneGraph.
    Reply With Quote Edit / Delete Reply Linux Australia Show Events Agree Agree x 2 (list)

  10. Post #10
    Gold Member
    BlkDucky's Avatar
    May 2008
    6,485 Posts
    - IRC, Jabber capabilities
    is this uh, a standard feature in these things?

  11. Post #11
    icefire.wi's Avatar
    August 2010
    38 Posts
    is this uh, a standard feature in these things?
    I don't think so but someone might have use for it.

    Edited:

    It seems to have unnecessary features compared to OpenSceneGraph.
    I have tried out OpenSceneGraph and to me it was a hassle to setup and maintain and graphically outdated, i prefer this.
    Also features and plugins do not have to be used
    Reply With Quote Edit / Delete Reply Windows 7 Netherlands Show Events Disagree Disagree x 1Funny Funny x 1 (list)

  12. Post #12
    Gold Member
    Jookia's Avatar
    July 2007
    6,768 Posts
    I think a huge factor that Ogre3D, Irrlicht and this get wrong is that it provides too much for a graphics engine and too little for a game engine.

    I have tried out OpenSceneGraph and to me it was a hassle to setup and maintain and graphically outdated
    How?
    Reply With Quote Edit / Delete Reply Linux Australia Show Events Agree Agree x 1 (list)

  13. Post #13
    Gold Member

    October 2008
    3,838 Posts
    Any chance for C# bindings?

  14. Post #14
    icefire.wi's Avatar
    August 2010
    38 Posts
    I think a huge factor that Ogre3D, Irrlicht and this get wrong is that it provides too much for a graphics engine and too little for a game engine.



    How?
    Trivial build problems and inexperience from my part where mostly the cause back then.

    Edited:

    Any chance for C# bindings?
    I'm not familiar with c# bindings that well. if you really wanna know ask the developers http://twitter.com/#!/pixellight.

  15. Post #15
    dajoh's Avatar
    March 2011
    625 Posts
    - Socket, IRC, Jabber capabilities
    - SQL, MySQL capabilities
    what.
    Reply With Quote Edit / Delete Reply Windows 7 Sweden Show Events Agree Agree x 2 (list)

  16. Post #16
    Simspelaaja's Avatar
    June 2008
    482 Posts
    Some games use IRC for chatting (Civ IV for example).

  17. Post #17
    Gold Member
    BlkDucky's Avatar
    May 2008
    6,485 Posts
    It's like it wants to be a game engine but only has very specific features.
    Reply With Quote Edit / Delete Reply Windows Vista United Kingdom Show Events Agree Agree x 1 (list)

  18. Post #18
    www.bff-hab.de
    Dennab
    February 2009
    7,832 Posts
    I remember hearing of it from this:

    Reply With Quote Edit / Delete Reply Windows 7 Germany Show Events Funny Funny x 9Optimistic Optimistic x 1 (list)

  19. Post #19
    icefire.wi's Avatar
    August 2010
    38 Posts
    I remember hearing of it from this:

    Yeah lol, that was our failure at importing models into Pixellight a while ago.

  20. Post #20
    OrYgin's Avatar
    November 2007
    748 Posts
    This seems really powerful even tho the Dof and the lights rays from the glowing elements make the demo look like a compressed video :/

    I might use it anyway, since you can disable these.
    Reply With Quote Edit / Delete Reply Windows 7 Belgium Show Events Friendly Friendly x 1 (list)

  21. Post #21
    icefire.wi's Avatar
    August 2010
    38 Posts
    I've released a Berkelium plugin for PixelLight with which you can render webpages ingame for GUI's etc.


    Source here: https://github.com/PixelLightCommunity/Plugins
    Reply With Quote Edit / Delete Reply Windows 7 Netherlands Show Events Programming King Programming King x 1 (list)

  22. Post #22
    Person
    geel9's Avatar
    June 2008
    5,600 Posts
    Why use this?
    It has Unicode support.
    Reply With Quote Edit / Delete Reply Windows 8 United States Show Events Zing Zing x 7Winner Winner x 1 (list)

  23. Post #23
    T3hGamerDK's Avatar
    January 2011
    2,551 Posts
    It has Unicode support.
    So that's why it's been 10 years in development?
    Reply With Quote Edit / Delete Reply Windows 7 Denmark Show Events Funny Funny x 10Zing Zing x 2Dumb Dumb x 1 (list)

  24. Post #24
    AlienCat's Avatar
    October 2011
    508 Posts
    It is looking pretty good, however I do not really like Qt for some reason. Maybe it is possible to run without it. And, the engine is a bit bloated for what I need (basically rendering 3D stuff)

  25. Post #25
    icefire.wi's Avatar
    August 2010
    38 Posts
    It is looking pretty good, however I do not really like Qt for some reason. Maybe it is possible to run without it. And, the engine is a bit bloated for what I need (basically rendering 3D stuff)
    Some seem to not understand that this is like a framework.
    You start with the Core (practically nothing) and start adding what you want.
    You also have the ability choose between different front-ends which one of them is indeed QT based.
    Every Namespace has its own DLL (PLCore, PLDatabase, PLEngine, PLGraphics, PLGui, PLInput, PLMath, PLMesh, PLPhysics, PLRenderer, PLScene, PLSound) same goes for all the plugins.

    It's easy and straightforward to add plugins like i did with Berkelium, i am also finishing the Awesomium plugin that i will be releasing soon.

    So in that regard it can be as open-ended as you want it to be.

  26. Post #26
    T3hGamerDK's Avatar
    January 2011
    2,551 Posts
    It is looking pretty good, however I do not really like Qt for some reason. Maybe it is possible to run without it. And, the engine is a bit bloated for what I need (basically rendering 3D stuff)
    I agree that it seems waaay over-bloated than what is needed. I'm not sure why it even uses Qt, but that's a matter of taste I suppose.

  27. Post #27
    icefire.wi's Avatar
    August 2010
    38 Posts
    I'm not sure why it even uses Qt
    The standard front-end is Win32 based and does therefor not support QT, however you could also use the QT front-end if its needed.

  28. Post #28
    AlienCat's Avatar
    October 2011
    508 Posts
    You are doing the input on your own?

  29. Post #29
    icefire.wi's Avatar
    August 2010
    38 Posts
    You are doing the input on your own?
    Input is handled by the PLInput namespace and its classes. (http://pixellight.sourceforge.net/do...p_l_input.html and paragraph 12 in http://pixellight.sourceforge.net/do...lLightBase.pdf)
    There are a lot of ways to work with different devices. (Keyboard, Mouse, Gamepad, Touchscreen, WiiMote etc.)

  30. Post #30
    Gold Member
    MrBob1337's Avatar
    September 2008
    1,652 Posts
    Are there any tutorials for this?

  31. Post #31
    DevBug's Avatar
    July 2010
    1,059 Posts
    RTTI? You've got to be fucking kidding me.

  32. Post #32
    icefire.wi's Avatar
    August 2010
    38 Posts
    RTTI? You've got to be fucking kidding me.
    I'm guessing you don't like that?


    Are there any tutorials for this?
    The SDK holds a ton of example applications that can show you different approaches to basic and intermediate tasks.
    Some information can be also be found on the Wiki and if you need to know anything specific you can always ask.

  33. Post #33
    icefire.wi's Avatar
    August 2010
    38 Posts
    [h2]Version 1.0.0-R1 has been released![/h2]PixelLight

    Changes in PixelLight 1.0.0-R1 (released on August 23, 2012)
    - Feature: The loadable system can now also deal with file formats which don't have any file extension
    - Feature: The loadable system can now also deal with file formats like DICOM which load from directories instead of files
    - Feature: Added support for tessellation control shader (named "hull shader" in DirectX 11) within "PLRenderer"
    - Feature: Added support for tessellation evaluation shader (named "domain shader" in DirectX 11) within "PLRenderer"
    - Feature: Added support for geometric primitive instancing within "PLRenderer"
    - Feature: Added "55RendererTessellation"-sample
    - Feature: Added "56RendererInstancing"-sample
    - Feature: Added shaders based scene renderer pass "PLCompositing::SRPDebugDepthShaders" visualizing the depth buffer for debugging purposes
    - Feature: Added shaders based scene renderer pass "PLCompositing::SRPMotionBlurShaders" for image based motion blur
    - Feature: Autodesk 3ds Max 2013 scene exporter added
    - Feature: Added plugins for volume rendering
    - Change: Moved out-of-date "PLScene::SNSky" and "PLScene::SNTerrain" into the new plugin project "PLNature" ("PLNature::SNSky", "PLNature::SNTerrain")
    - Change: Moved "PLPhysics::SNMPhysicsBodyTerrain" into "PLNature::SNMPhysicsBodyTerrain"
    - Change: Updated from "Cg Toolkit 3.1 - February 2012" to "Cg Toolkit 3.1 - April 2012"
    - Change: Updated from "SQLite 3.5.6" to "SQLite 3.7.13"
    - Bugfix (ID: 3502066): "PLGraphics::Color4::IsValid()" alpha-check was invalid
    - Bugfix (ID: 3512436): "pl_implement_class(Keyboard)" was missing within "PLInput"
    - Bugfix (ID: 3514155): The ingame console was processing input events received while the main window had no focus
    - Bugfix (ID: 3531730): "PLScene::SceneContainer::SetHierarchy()" did not assign the new given hierarchy type
    - Bugfix: "PLRenderer::Texture::SetTextureBuffer()" did not update the original texture size
    - Bugfix: "PLRenderer::EffectLoaderPL::LoadV1()" was not loading the "Name"-attribute of techniques
    - Bugfix: When loading a new resource, PLViewer/PLViewerQt did not destroy the currently used script





    motion blur example in Russian
    Reply With Quote Edit / Delete Reply Windows 8 Netherlands Show Events Informative Informative x 2 (list)