• Pixellight, a open source 3d engine / framework that deserves more attention
    35 replies, posted
  • [img]http://www.pixellight.org/site/data/files/logo.png[/img] 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. [media]http://www.youtube.com/watch?v=plgNMO8BIZs[/media] 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 [b]simple feature list[/b] can be found here > [url]http://www.pixellight.org/site/index.php/page/12.html[/url]. For a [b]detailed feature list[/b] look here > [url]http://pixellight.sourceforge.net/docs/PixelLightFeatures.pdf[/url]. [b]Code API[/b] can be found here > [url]http://pixellight.sourceforge.net/docs/PixelLightAPI_1.0.0/index.html[/url]. 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 > [url]http://www.youtube.com/user/pixellight3d[/url]. These 2 are recommended to watch. [media]http://www.youtube.com/watch?v=YZQ7zQH6pro[/media] [media]http://www.youtube.com/watch?v=e1sOlkuGN-I[/media] 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 [b]not[/b] disappointed. [url]http://www.pixellight.org[/url] [i]If you have any questions ask them, i cannot claim to know everything but i will answer what i can.[/i] [b]# Updates[/b] [February 23, 2012] 0.9.11-R1 update released [February 24, 2012] New demos released: [url]http://www.pixellight.org/site/index.php/page/25.html[/url] [March 15, 2012] I've released a Berkelium plugin for PixelLight [url]https://github.com/PixelLightCommunity/Plugins/tree/master/plugins/berkelium[/url] [August 23, 2012] 1.0.0-R1 update released [url=http://pixellight.sourceforge.net/docs/PixelLight-1.0.0-R1-Notes.txt]changelog[/url] [url=http://github.com/PixelLightCommunity][img]http://www.iedivision.com/uploads/logoplcommpl.png[/img][/url]
  • 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?
  • [QUOTE=thomasfn;34454192]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?[/QUOTE] [b]Scene node classes[/b] > [url]http://pixellight.sourceforge.net/docs/PixelLightAPI_0.9.10/class_p_l_scene_1_1_scene_node.html[/url] Also scene node classes are prefixed with 'SN' > [url]http://developer.pixellight.org/wiki/index.php/Category:Programmers[/url] ([i][b]Wiki is somewhat outdated and needs to be worked on[/b][/i]) [b]As for the ambient light, use this line for example[/b] [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. -->[/code] [i]You can put it in your scene *.XML in the first scope[/i]
  • [h2]Version 0.9.11-R1 has been released![/h2][url=http://www.pixellight.org/]PixelLight[/url] 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 [thumb]http://www.pixellight.org/site/data/phoo/2012_02_23/PLViewerQt_20120223_2.jpg[/thumb] [thumb]http://www.pixellight.org/site/data/phoo/2012_02_23/PLViewerQt_20120223_1.jpg[/thumb] [thumb]http://www.pixellight.org/site/data/phoo/2012_02_23/PLViewerQt_20120223_4.jpg[/thumb] [thumb]http://www.pixellight.org/site/data/phoo/2012_02_23/PLViewerQt_20120223_5.jpg[/thumb]
  • [QUOTE=BlkDucky;34438554]installing the SDK because I have nothing better to do[/QUOTE] I still haven't looked at it. :v:
  • [QUOTE=Jookia;34846252]Why use this?[/QUOTE] - Open Source ([url]http://www.gnu.org/copyleft/lgpl.html[/url]) - Cross Platform - Roughly 10 years in development - C++ based - RTTI based plugin support ([url]http://en.wikibooks.org/wiki/C++_Programming/RTTI[/url]) - Assimp support ([url]http://assimp.sourceforge.net/main_features_formats.html[/url]) - 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 ([url]http://qt.nokia.com/[/url]) - SQL, MySQL capabilities - Physics (Bullet, Newton, ODE, PhysX) [b]Why not?[/b]
  • [QUOTE=icefire.wi;34847207][b]Why not?[/b][/QUOTE] It seems to have unnecessary features compared to OpenSceneGraph.
  • [quote]- IRC, Jabber capabilities[/quote] is this uh, a standard feature in these things?
  • [QUOTE=BlkDucky;34847278]is this uh, a standard feature in these things?[/QUOTE] I don't think so but someone might have use for it. [editline]24th February 2012[/editline] [QUOTE=Jookia;34847250]It seems to have unnecessary features compared to OpenSceneGraph.[/QUOTE] I have tried out OpenSceneGraph and to me it was a hassle to setup and maintain and graphically outdated, i prefer this. [i]Also features and plugins do not have to be used[/i]
  • 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. [QUOTE=icefire.wi;34847290]I have tried out OpenSceneGraph and to me it was a hassle to setup and maintain and graphically outdated[/QUOTE] How?
  • [QUOTE=Jookia;34847719]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?[/QUOTE] Trivial build problems and inexperience from my part where mostly the cause back then. [editline]24th February 2012[/editline] [QUOTE=Dlaor-guy;34847818]Any chance for C# bindings? :v:[/QUOTE] I'm not familiar with c# bindings that well. if you really wanna know ask the developers [url]http://twitter.com/#!/pixellight[/url].
  • [QUOTE=icefire.wi;34847207] - Socket, IRC, Jabber capabilities - SQL, MySQL capabilities[/QUOTE] what.
  • [QUOTE=dajoh;34848174]what.[/QUOTE] It's like it wants to be a game engine but only has very specific features.
  • I remember hearing of it from this: [media]http://www.youtube.com/watch?v=P1uVp88KijM[/media]
  • [QUOTE=DrLuke;34851235]I remember hearing of it from this: [media]http://www.youtube.com/watch?v=P1uVp88KijM[/media][/QUOTE] Yeah lol, that was our failure at importing models into Pixellight a while ago.
  • 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.
  • I've released a Berkelium plugin for PixelLight with which you can render webpages ingame for GUI's etc. [media]http://www.youtube.com/watch?v=JmR_dt3dnpQ[/media] Source here: [url]https://github.com/PixelLightCommunity/Plugins[/url]
  • [QUOTE=Jookia;34846252]Why use this?[/QUOTE] It has Unicode support.
  • [QUOTE=geel9;35152847]It has Unicode support.[/QUOTE] So that's why it's been 10 years in development?
  • 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)
  • [QUOTE=AlienCat;35175702]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)[/QUOTE] 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.
  • [QUOTE=AlienCat;35175702]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)[/QUOTE] 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.
  • [QUOTE=T3hGamerDK;35175960]I'm not sure why it even uses Qt[/QUOTE] 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.
  • [QUOTE=AlienCat;35208453]You are doing the input on your own?[/QUOTE] Input is handled by the [b]PLInput[/b] namespace and its classes. ([url]http://pixellight.sourceforge.net/docs/PixelLightAPI_0.9.11/namespace_p_l_input.html[/url] and [b]paragraph 12[/b] in [url]http://pixellight.sourceforge.net/docs/PixelLightBase.pdf[/url]) There are a lot of ways to work with different devices. (Keyboard, Mouse, Gamepad, Touchscreen, WiiMote etc.)