SOC idea ticket: Rendering Engine

Hi! I've created a ticket for this idea: http://hackage.haskell.org/trac/summer-of-code/ticket/1572 Please write your opinion. I also put the source code here: http://code.google.com/p/lambdacube/ svn checkout *http*://lambdacube.googlecode.com/svn/trunk/lambdacube-read-only Cheers, Csaba Hruska

* Csaba Hruska
Hi!
I've created a ticket for this idea: http://hackage.haskell.org/trac/summer-of-code/ticket/1572 Please write your opinion.
I also put the source code here: http://code.google.com/p/lambdacube/
svn checkout *http*://lambdacube.googlecode.com/svn/trunk/lambdacube-read-only
Hi Csaba, this looks very promising! Correct command to checkout: svn checkout http://lambdacube.googlecode.com/svn/trunk/ lambdacube -- Roman I. Cheplyaka :: http://ro-che.info/ "Don't let school get in the way of your education." - Mark Twain

I tried it and it goes out of memory. The log attached. -- Roman I. Cheplyaka :: http://ro-che.info/ "Don't let school get in the way of your education." - Mark Twain

Oh, I managed to enjoy ogre by disabling other entities. -- Roman I. Cheplyaka :: http://ro-che.info/ "Don't let school get in the way of your education." - Mark Twain

Does your video card support shaders?
If it's an old card with fixed function opengl, then edit
/media/materials/scripts/Robot.material file.
Disable shaders:
{
//source ambient.vert
//source diffuse.vert
source toonf2.vert
}
fragment_program Examples/AmbientShadingFP glsl
{
//source ambient.frag
//source diffuse.frag
source toonf2.frag
}
material Examples/Robot
{
// Software blending technique
technique
{
pass
{
// vertex_program_ref Examples/AmbientShadingVP
// {
// // map shininess from custom renderable
param 1
// //param_named_auto shininess custom 1
// }
//fragment_program_ref Examples/AmbientShadingFP
//{
// // map shininess from custom renderable
param 1
// //param_named_auto shininess custom 1
// }
texture_unit
{
texture r2skin.jpg
}
}
}
}
2009/3/24 Roman Cheplyaka
Oh, I managed to enjoy ogre by disabling other entities.
-- Roman I. Cheplyaka :: http://ro-che.info/ "Don't let school get in the way of your education." - Mark Twain _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

* Csaba Hruska
Does your video card support shaders? If it's an old card with fixed function opengl, then edit /media/materials/scripts/Robot.material file. Disable shaders:
Yeah, that helped. (It's video card embedded in my laptop.) -- Roman I. Cheplyaka :: http://ro-che.info/ "Don't let school get in the way of your education." - Mark Twain

Csaba Hruska
svn checkout *http*://lambdacube.googlecode.com/svn/trunk/lambdacube-read-only
I think you mean svn co http://lambdacube.googlecode.com/svn/trunk I didn't do anything yet, except running the sample program. I get to see an ogre head and this: 8<---- ksf@solaris trunk % ./example1 [".","..","car",".svn","packs","materials","models"] [".","..",".svn","toonf2.frag","toonf2.vert","Example_CelShading.frag","Example_CelShading.vert","texturemapping.frag","texturemapping.vert","diffuse.frag","diffuse.vert","ambient.frag","ambient.vert"] [".","..",".svn","todo","Ogre.material","jaiqua.material","Scene.material","ogrehead.material","Robot.material","RZR-002.material"] load: Ogre.material load: jaiqua.material load: Scene.material load: ogrehead.material load: Robot.material load: RZR-002.material [".","..",".svn","cel_shading_diffuse.png","r2skin.jpg","RZR-002.png","cel_shading_specular.png","cel_shading_edge.png","GreenSkin.jpg","spheremap.png","WeirdEye.png","dirt01.jpg","blue_jaiqua.jpg"] [".","..",".svn","Cube.mesh.xml","ogrehead.mesh.xml","athene.mesh.xml","ninja.mesh.xml","Suzanne.mesh.xml","RZR-002.mesh.xml","facial.mesh.xml","robot.skeleton.xml","robot.mesh.xml","jaiqua.mesh.xml"] [".","..",".svn","scooby_body.mesh.xml","scooby_body.material","ventanas.jpg","chasis.jpg","chasis_a.jpg"] load: scooby_body.material creating entity: "OgreHead" from mesh: "ogrehead.mesh.xml" parsing XML file ["Ogre/Tusks","Ogre/Earring","Ogre/Skin","Ogre/Eyes"] compiling material: Ogre/Eyes "WeirdEye.png" loaded resolution = 256 x 256, 3 bytes per pixel compiling material: Ogre/Skin "GreenSkin.jpg" loaded resolution = 256 x 256, 3 bytes per pixel compiling material: Ogre/Earring "spheremap.png" loaded resolution = 256 x 256, 3 bytes per pixel compiling material: Ogre/Tusks "dirt01.jpg" loaded resolution = 96 x 96, 3 bytes per pixel done creating entity: "Robot" from mesh: "robot2.mesh.xml" parsing XML file ["Examples/Robot"] compiling material: Examples/Robot "r2skin.jpg" loaded resolution = 512 x 512, 3 bytes per pixel Compiling program: (Just "Examples/AmbientShadingVP",Just "Examples/AmbientShadingFP") Shader info log for 'Examples/AmbientShadingVP': Shader info log for 'Examples/AmbientShadingFP': Program info log: done creating entity: "Car" from mesh: "scooby_body.mesh.xml" parsing XML file ["Ac3d/Scooby_Body/Mat001_Tex03","Ac3d/Scooby_Body/Mat001_Tex02","Ac3d/Scooby_Body/Mat001_Tex01"] compiling material: Ac3d/Scooby_Body/Mat001_Tex01 "chasis.jpg" loaded resolution = 512 x 512, 3 bytes per pixel compiling material: Ac3d/Scooby_Body/Mat001_Tex02 "ventanas.jpg" loaded resolution = 512 x 512, 3 bytes per pixel compiling material: Ac3d/Scooby_Body/Mat001_Tex03 "chasis_a.jpg" loaded resolution = 128 x 256, 3 bytes per pixel done 1 frames in 13.45548 seconds = 7.431916215549353e-2 FPS zsh: abort ./example1 8<---- I _think_ example1 is killed by SIGABRT, but I could be wrong, I've never seen this before. Anyway, it's a strange thing. OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce 7600 GS/PCI/SSE2 OpenGL version string: 2.1.2 NVIDIA 177.82 OpenGL shading language version string: 1.20 NVIDIA via Cg compiler X.Org X Server 1.5.3 Linux solaris 2.6.28-tuxonice-r1 #20 PREEMPT Tue Mar 10 19:07:36 CET 2009 x86_64 AMD Athlon(tm) 64 Processor 3200+ AuthenticAMD GNU/Linux The Glorious Glasgow Haskell Compilation System, version 6.10.1 -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited.

2009/3/23 Achim Schneider
Csaba Hruska
wrote: svn checkout *http*://lambdacube.googlecode.com/svn/trunk/lambdacube-read-only
I think you mean svn co http://lambdacube.googlecode.com/svn/trunk
I didn't do anything yet, except running the sample program. I get to see an ogre head and this:
8<----
ksf@solaris trunk % ./example1 [".","..","car",".svn","packs","materials","models"]
[".","..",".svn","toonf2.frag","toonf2.vert","Example_CelShading.frag","Example_CelShading.vert","texturemapping.frag","texturemapping.vert","diffuse.frag","diffuse.vert","ambient.frag","ambient.vert"]
[".","..",".svn","todo","Ogre.material","jaiqua.material","Scene.material","ogrehead.material","Robot.material","RZR-002.material"] load: Ogre.material load: jaiqua.material load: Scene.material load: ogrehead.material load: Robot.material load: RZR-002.material
[".","..",".svn","cel_shading_diffuse.png","r2skin.jpg","RZR-002.png","cel_shading_specular.png","cel_shading_edge.png","GreenSkin.jpg","spheremap.png","WeirdEye.png","dirt01.jpg","blue_jaiqua.jpg"]
[".","..",".svn","Cube.mesh.xml","ogrehead.mesh.xml","athene.mesh.xml","ninja.mesh.xml","Suzanne.mesh.xml","RZR-002.mesh.xml","facial.mesh.xml","robot.skeleton.xml","robot.mesh.xml","jaiqua.mesh.xml"]
[".","..",".svn","scooby_body.mesh.xml","scooby_body.material","ventanas.jpg","chasis.jpg","chasis_a.jpg"] load: scooby_body.material creating entity: "OgreHead" from mesh: "ogrehead.mesh.xml" parsing XML file ["Ogre/Tusks","Ogre/Earring","Ogre/Skin","Ogre/Eyes"] compiling material: Ogre/Eyes "WeirdEye.png" loaded resolution = 256 x 256, 3 bytes per pixel compiling material: Ogre/Skin "GreenSkin.jpg" loaded resolution = 256 x 256, 3 bytes per pixel compiling material: Ogre/Earring "spheremap.png" loaded resolution = 256 x 256, 3 bytes per pixel compiling material: Ogre/Tusks "dirt01.jpg" loaded resolution = 96 x 96, 3 bytes per pixel done creating entity: "Robot" from mesh: "robot2.mesh.xml" parsing XML file ["Examples/Robot"] compiling material: Examples/Robot "r2skin.jpg" loaded resolution = 512 x 512, 3 bytes per pixel Compiling program: (Just "Examples/AmbientShadingVP",Just "Examples/AmbientShadingFP") Shader info log for 'Examples/AmbientShadingVP':
Shader info log for 'Examples/AmbientShadingFP':
Program info log:
done creating entity: "Car" from mesh: "scooby_body.mesh.xml" parsing XML file
["Ac3d/Scooby_Body/Mat001_Tex03","Ac3d/Scooby_Body/Mat001_Tex02","Ac3d/Scooby_Body/Mat001_Tex01"] compiling material: Ac3d/Scooby_Body/Mat001_Tex01 "chasis.jpg" loaded resolution = 512 x 512, 3 bytes per pixel compiling material: Ac3d/Scooby_Body/Mat001_Tex02 "ventanas.jpg" loaded resolution = 512 x 512, 3 bytes per pixel compiling material: Ac3d/Scooby_Body/Mat001_Tex03 "chasis_a.jpg" loaded resolution = 128 x 256, 3 bytes per pixel done
Until this point it is OK. (sorry for the lots of debug info, i'll remove them later)
1 frames in 13.45548 seconds = 7.431916215549353e-2 FPS
The FPS calculation is wrong at first frame. I have a geforce 7300 GS and its running at ~670 FPS in 640x480 sized window. The example uses glsl shader. (if you remove robot from the scene then it will be compatible with older graphic cards too) Please press ESC to exit from example program instead of closing the window. The screenshot (http://code.google.com/p/lambdacube/) is taken from example1, you should get same one.
zsh: abort ./example1
8<----
I _think_ example1 is killed by SIGABRT, but I could be wrong, I've never seen this before. Anyway, it's a strange thing.
Does the program exit immediatly after the first rendered frame?
OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce 7600 GS/PCI/SSE2 OpenGL version string: 2.1.2 NVIDIA 177.82 OpenGL shading language version string: 1.20 NVIDIA via Cg compiler
X.Org X Server 1.5.3
Linux solaris 2.6.28-tuxonice-r1 #20 PREEMPT Tue Mar 10 19:07:36 CET 2009 x86_64 AMD Athlon(tm) 64 Processor 3200+ AuthenticAMD GNU/Linux
The Glorious Glasgow Haskell Compilation System, version 6.10.1
I've tested with ghc 6.10.1 on amd sempron 1800+ 32 bit gnu/linux geforce 7300gs.
-- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Csaba Hruska
I _think_ example1 is killed by SIGABRT, but I could be wrong, I've never seen this before. Anyway, it's a strange thing.
Does the program exit immediatly after the first rendered frame?
Usually yes, sometimes I'm seeing the ogre being rotated before SIGABRT. At first I thought it might be the app getting confused by xmonad resizing it, but switching to twm or kwm didn't help. I'm going to investigate a bit further as soon as I figured out why xmonad doesn't use xinerama(again) after re-compilation. -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited.
participants (3)
-
Achim Schneider
-
Csaba Hruska
-
Roman Cheplyaka