ogreSwf/vektrix

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Post Reply
RedEagle
Gnoblar
Posts: 22
Joined: Thu Jan 04, 2007 9:39 pm

Post by RedEagle »

Thank you Stonecold for responding in such short notice. I wasn't disapointed by you response because I was expecting it but you know, a second opinion is always good :wink:
Still, Ogreswf is the best solution for what I am trying to do, so I'm stiking with it!

GREAT WORK!
User avatar
stoneCold
OGRE Expert User
OGRE Expert User
Posts: 867
Joined: Fri Oct 01, 2004 9:13 pm
Location: Carinthia, Austria
x 1

Post by stoneCold »

Fenris wrote:
Hmm, isn't that GPLed?
Yes they are, but as far as I know the GPL this should be no problem as far as ogreSwf stays GPL too.
Eh? I see LGPL listed in the OgreSWF source files... If you intend to change to GPL licensing would that not mean that all source code that uses ogreSWF code, including apps we write, have to be distributed as source as well? Not pretty if so, sadly a game breaker for a lot of us I bet.
Sorry was a typo while instant posting :wink: LGPL I meant, but now that I read the licenses (the 100th time :roll: ), I think you're right.
I always thought that LGPL code can be used by making your own code LGPL/GPL (that's right) but I thought it works the other way around too (that's not right as I read the license!?!?).
If I'd just have an email address of an author of SwfTools.
I'm quite sure this might be no problem with the agreement of him/them. :wink:
User avatar
independentCreations
Greenskin
Posts: 121
Joined: Sat Jan 07, 2006 7:30 am
Location: Gold Coast - Australia

Post by independentCreations »

ay mate i have tried a couple of different things and i cant get your demo to run or to integrate it into my own project. I have tried debugging throught it.

i am trying to get a full screen hud swf up and running. I have tried via texture->cegui and i have tried via the hud. the hud crashes on. display image. the texture crashes on insertion into the swf manager.

in the demo the movies load correctly. (i placed logs through out it) but it crashes before it gets a chance to render. So im stumped, the video was impressive and i am hoping i can use something similiar. Any help?

thanks
Final Creations - Tech Leader For 'The Broken'
v2i - Tech Leader For Architectual Sim.
Ogre Enthusiast
User avatar
independentCreations
Greenskin
Posts: 121
Joined: Sat Jan 07, 2006 7:30 am
Location: Gold Coast - Australia

Post by independentCreations »

k so it now progresses a bit further. i am using a texture for cegui. if i didnt mention that before. anywya i can get the texture to play and everything and reapply to cegui_texture and everything except for one call.

Inside

Code: Select all

SwfTexture::renderToTexture(Real timeSinceLastFrame)
this call

Code: Select all

mMovieInterface->display();
and i am now out of my knowledge ring. aka ogre :P

I have tried both my own and your sample clips.
Any ideas stone cold or anyone else?? thanks
Final Creations - Tech Leader For 'The Broken'
v2i - Tech Leader For Architectual Sim.
Ogre Enthusiast
User avatar
stoneCold
OGRE Expert User
OGRE Expert User
Posts: 867
Joined: Fri Oct 01, 2004 9:13 pm
Location: Carinthia, Austria
x 1

Post by stoneCold »

you mean you call "renderToTexture" in your program? If so, I can say this is an ogreSwf internal function, all updating of all kinds of Swfs is done by calling SwfManager::update(time)
User avatar
independentCreations
Greenskin
Posts: 121
Joined: Sat Jan 07, 2006 7:30 am
Location: Gold Coast - Australia

Post by independentCreations »

yes thats what i am doin and it calls that function
Final Creations - Tech Leader For 'The Broken'
v2i - Tech Leader For Architectual Sim.
Ogre Enthusiast
User avatar
independentCreations
Greenskin
Posts: 121
Joined: Sat Jan 07, 2006 7:30 am
Location: Gold Coast - Australia

Post by independentCreations »

crashes in xsting.h so sounds like a vector error. some where in gameswf or something
Final Creations - Tech Leader For 'The Broken'
v2i - Tech Leader For Architectual Sim.
Ogre Enthusiast
User avatar
independentCreations
Greenskin
Posts: 121
Joined: Sat Jan 07, 2006 7:30 am
Location: Gold Coast - Australia

Post by independentCreations »

i get these errors when i try and use the demo exactly like it is supposed to

Code: Select all

11:14:32: Parsing script camera.material
11:14:32: An exception has been thrown!

-----------------------------------
Details:
-----------------------------------
Error #: -2147467263
Function: D3D9HLSLProgram::loadFromSource
Description: Cannot assemble D3D9 high-level shader directX_ps_color Errors:
error X3539: ps_1_x is not supported in this version of the compiler
. 
File: ..\src\OgreD3D9HLSLProgram.cpp
Line: 63
Stack unwinding: <<beginning of stack>>
11:14:32: High-level program directX_ps_color encountered an error during loading and is thus not supported.
11:14:32: An exception has been thrown!

-----------------------------------
Details:
-----------------------------------
Error #: -2147467263
Function: D3D9HLSLProgram::loadFromSource
Description: Cannot assemble D3D9 high-level shader directX_ps_image Errors:
error X3539: ps_1_x is not supported in this version of the compiler
. 
File: ..\src\OgreD3D9HLSLProgram.cpp
Line: 63
Stack unwinding: <<beginning of stack>>
11:14:32: High-level program directX_ps_image encountered an error during loading and is thus not supported.
then later

Code: Select all

11:14:32: Warning: material swf_hud1_ImageMat_0 has no supportable Techniques on this hardware, it will be rendered blank.
Final Creations - Tech Leader For 'The Broken'
v2i - Tech Leader For Architectual Sim.
Ogre Enthusiast
big_o
Goblin
Posts: 279
Joined: Sun Feb 19, 2006 1:08 am

Post by big_o »

Looks like something funky is going on with your drivers or graphics card. What card do you have, are your drivers up to date, and does the same thing happen in Opengl?
User avatar
independentCreations
Greenskin
Posts: 121
Joined: Sat Jan 07, 2006 7:30 am
Location: Gold Coast - Australia

Post by independentCreations »

i dont get the material script errors in open gl. but i still get my display crash. when the swfmanager calls the textures renderToTexture function.
i have a Nvidia Geforce 8880 GTS, but i know it isnt that. drivers up to date aswell.
Final Creations - Tech Leader For 'The Broken'
v2i - Tech Leader For Architectual Sim.
Ogre Enthusiast
User avatar
independentCreations
Greenskin
Posts: 121
Joined: Sat Jan 07, 2006 7:30 am
Location: Gold Coast - Australia

Post by independentCreations »

k so i got the demo working. but only with open gl. So know i gotta work out why my project dosnt run them and why dx dosnt like those shaders
Final Creations - Tech Leader For 'The Broken'
v2i - Tech Leader For Architectual Sim.
Ogre Enthusiast
User avatar
independentCreations
Greenskin
Posts: 121
Joined: Sat Jan 07, 2006 7:30 am
Location: Gold Coast - Australia

Post by independentCreations »

these forums act as a good self bounce message board. i solved the problem with my project. i did'nt have th materials and the shader files in my resource directories. Still, dosn't work in dx so i am gunna try and get round that.

@stonecold - nice wrapper. is there anywhere i can go to have a look at what gameswf supports in the way of developing the flash files. thanks
Final Creations - Tech Leader For 'The Broken'
v2i - Tech Leader For Architectual Sim.
Ogre Enthusiast
zaitochi
Halfling
Posts: 50
Joined: Wed Oct 19, 2005 1:53 pm

Post by zaitochi »

stoneCold about the thread in the link below, did you find what do I have to do to bring up vector graphics elements over pictures elements in ogreSWF?

http://www.ogre3d.org/phpBB2/viewtopic. ... ht=ogreswf

Thanks very much for your help.
User avatar
stoneCold
OGRE Expert User
OGRE Expert User
Posts: 867
Joined: Fri Oct 01, 2004 9:13 pm
Location: Carinthia, Austria
x 1

Post by stoneCold »

I just retried it, and when I create the vector graphics + text myself it just works without problems.

Here your .FLA changed by myself:
http://www.savefile.com/files/462120

greetings
User avatar
Injector
Gremlin
Posts: 174
Joined: Wed Jan 21, 2004 2:42 pm
Location: Frankfurt, Germany

Post by Injector »

@independentCreations:

Looks like you're using the newest DX SDK, where Microsoft dropped the support for ps_1_x.
User avatar
independentCreations
Greenskin
Posts: 121
Joined: Sat Jan 07, 2006 7:30 am
Location: Gold Coast - Australia

Post by independentCreations »

@injector. thanks for the response. had no idea about the whole dropping of ps_1_x support.

Since when does direct x cut any of its old stuff out :P
Final Creations - Tech Leader For 'The Broken'
v2i - Tech Leader For Architectual Sim.
Ogre Enthusiast
User avatar
stoneCold
OGRE Expert User
OGRE Expert User
Posts: 867
Joined: Fri Oct 01, 2004 9:13 pm
Location: Carinthia, Austria
x 1

Post by stoneCold »

independentCreations wrote:...is there anywhere i can go to have a look at what gameswf supports in the way of developing the flash files...
Actually I can't tell you more than google can. GameSwf is very/completely undocumented, a bit buggy and developed without a master plan. Therefore I'm currently writing my own alternative (renderer/script interpreter) to get rid of gameSwf. The idea is to make ogreSwf independent from gameSwf, because gameSwf is the reason for 90% of the problems that occur during my development.
That's already much more than I actually wanted to tell publicly :wink:.
You'll read more about it soon.
zaitochi
Halfling
Posts: 50
Joined: Wed Oct 19, 2005 1:53 pm

Post by zaitochi »

Hi stoneCold, I get the panel_REmodified and get the latest cvs ogreSWF and compiled against ogre 1.2.5, and I am still habing that problem.

Below I putted a screenshot of panel_REmodified running in a commom swf viewer in windows, and another one with the same swf file running inside ogreSWF.

In windows:
Image

In ogreSWF:
Image

Again the vector graphics didn't appear.

For less than one second I could see vector graphic in ogreSWF, it seens to be in the first render frame, but they disapear after.
User avatar
stoneCold
OGRE Expert User
OGRE Expert User
Posts: 867
Joined: Fri Oct 01, 2004 9:13 pm
Location: Carinthia, Austria
x 1

Post by stoneCold »

I see. Seems like this is a SwfTexture problem, because I tested it with SwfPanel only and there it works.
I will resolve it when I come home.
Thanks for the tip.
zaitochi
Halfling
Posts: 50
Joined: Wed Oct 19, 2005 1:53 pm

Post by zaitochi »

Hi stoneCold, did you fixed the swfTexture problem?

Does ogreSWF works with Eihort?


Thanks very much for your help
TiraX
Gnoblar
Posts: 8
Joined: Wed Feb 21, 2007 12:23 pm

Post by TiraX »

Very nice plug-in and good work.

Though I have some problems building and linking it.

Im using VC7.1 and there was only a 8.0 solution included, so I just changed the .vcproj version parameter to 7.1 and added it to a new solution. This seems to work so far.

I tried using ogre release libs and building ogreswf as a multi-threaded DLL in release. And I also tried building it as multi-threaded debug dll in debug. And i built ogre and my project using the settings I used in ogreswf.

I had problems with Ogre::MemoryManager and calloc which I fixed by adding <OgreNoMemoryMacros.h> everywhere ogre.h was.

But now I get these linker errors. I thought it was due to different types of libraries but I have checked and doubled checked and they are all the same i.e. multi-threaded DLL.

I haven't implented any code so far, I added #include "ogreswf.h" and input ogreswf.lib

Code: Select all

EventCallbackManager.obj : error LNK2005: "void __cdecl xP_GetPrivateProfileString(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?xP_GetPrivateProfileString@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00AAV12@0@Z) already defined in Application.obj
EventCallbackManager.obj : error LNK2005: "class Ogre::RaySceneQuery * raySceneQuery" (?raySceneQuery@@3PAVRaySceneQuery@Ogre@@A) already defined in Application.obj
EventCallbackManager.obj : error LNK2005: "class SwfTexture * mCubeTexture" (?mCubeTexture@@3PAVSwfTexture@@A) already defined in Application.obj
EventCallbackManager.obj : error LNK2005: "class SwfTexture * mPanelTexture" (?mPanelTexture@@3PAVSwfTexture@@A) already defined in Application.obj
EventCallbackManager.obj : error LNK2005: "class SwfPanel * mPanel" (?mPanel@@3PAVSwfPanel@@A) already defined in Application.obj
EventCallbackManager.obj : error LNK2005: "class SwfHUD * mClock" (?mClock@@3PAVSwfHUD@@A) already defined in Application.obj
EventCallbackManager.obj : error LNK2005: "float x" (?x@@3MA) already defined in Application.obj
EventCallbackManager.obj : error LNK2005: "float y" (?y@@3MA) already defined in Application.obj
EventCallbackManager.obj : error LNK2005: "class Ogre::Vector3 cameraDirection" (?cameraDirection@@3VVector3@Ogre@@A) already defined in Application.obj
main.obj : error LNK2005: "void __cdecl xP_GetPrivateProfileString(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?xP_GetPrivateProfileString@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00AAV12@0@Z) already defined in Application.obj
main.obj : error LNK2005: "class Ogre::RaySceneQuery * raySceneQuery" (?raySceneQuery@@3PAVRaySceneQuery@Ogre@@A) already defined in Application.obj
main.obj : error LNK2005: "class SwfTexture * mCubeTexture" (?mCubeTexture@@3PAVSwfTexture@@A) already defined in Application.obj

...

User avatar
stoneCold
OGRE Expert User
OGRE Expert User
Posts: 867
Joined: Fri Oct 01, 2004 9:13 pm
Location: Carinthia, Austria
x 1

Post by stoneCold »

@ TiraX:
You should not #include "ogreswf.h" in your application but #include "SwfManager.h" instead.
Sorry that the answer to your question was delayed, but it took some minutes to write all this down :wink:

--------------------------------------------------------------------------------------------------------------------------------------------

I'll take the chance and announce my decision to completely drop gameSwf as basis for ogreSwf.
As I already stated some times in this thread I never was satisfied with the quality of gameSwf (bugged code, no support/community, no real lead developer(s), missing basic!! ActionScript things like "_width" or "_height", bugs like the above ---> depth ordering issues, etc., etc.).

Therefore I decided some time ago to completely drop gameSwf as already stated. Currently I'm working on the new ogreSwf version, which is nothing else than a complete restart of the project (started with ogreSwf_main.h/.cpp some days ago :wink: ).
I make use the great SwfTools (http://swftools.org) to write a converter to my own file format called ".ogreswf" which then can be loaded by ogreSwf. This file format is not targeted at a low file size (like SWF is), but to be easily readable and to be performant and to be read directly to memory.

The current state:

*) the converter:
A converter has been written called "swf2ogreswf", it's task is to convert any .swf you give it to ogreSwf's own file format (currently already supports to include image files and sounds, script parsing will follow after I finished the resource stuff....storing fonts and vector data is still missing, but I already have experimental code which is waiting to be slapped in)

*) the debugger:
While writing the converter I wrote a test application to extract data from the .ogreswf format again. Somehow the idea popped to my mind that it could be useful to be able to debug the .ogreswf file generated by the above converter, therefore I'm thinking of releasing this test application as well (will be modified to be a user friendly debugging tool)

*) the plugin:
My latest sweetheart :D
As told I was frustrated by gameSwf, because of it's at some edges poor quality. Therefore my target, after deciding to drop gameSwf, was to write all rendering/script parsing code myself, because then I(/ogreSwf) won't rely on any 3rd party code any longer (which could make me bump my head at the keyboard again :roll: )
As told the converter currently supports to convert images and sounds from .swf to .ogreswf. The last days I actually started to write the ogreSwf plugin itself from scratch. Within just a few hours of coding I got the plugin to load Ogre::Textures (wrapped by ogreSwf::TextureResource) and my own ogreSwf::SoundResource class out of an .ogreswf file.

Plus, I created a simple class called ogreSwf::SoundInstance which could/should be inherited by the user to bind ogreSwf to his sound engine of choice. Currently I'm using FMOD to test it and it works fabolous with VERY little effort (making me grin every time I run the demo application :D )
Binding FMOD to ogreSwf is as simple as shown below...(plus setting a callback)

Code: Select all

class mySwfSound : public ogreSwf::SoundInstance
{
public:
	mySwfSound(char* buf, size_t size) : SoundInstance()
	{
		FMOD_CREATESOUNDEXINFO create_params = { sizeof(FMOD_CREATESOUNDEXINFO) };
		create_params.length = size; 

		mSystem->createStream(buf, FMOD_HARDWARE | FMOD_OPENMEMORY, &create_params, &mSound);
		mSound->setMode(FMOD_LOOP_NORMAL);
	}
	virtual ~mySwfSound(void)
	{
		mSound->release();
	}

	void mySwfSound::play(void)
	{
		mSystem->playSound(FMOD_CHANNEL_FREE, mSound, false, &mChannel);
	}

	void mySwfSound::stop(void)
	{
		mChannel->stop();
	}

protected:
	FMOD::Sound* mSound;
	FMOD::Channel* mChannel;
};
*) It all leads to...
I'm really excited of developing ogreSwf again.
The frustration by fighting with/against gameSwf has now been replaced by pure passion and creativity. I really love working on it again and will keep you all updated here if you are interested :wink:

[edit]: if you have wishes regarding the API, feature requests, ... feel free to post them here, it's easier to plan features at an early state, so I'm interested in your needs...

greetings
Last edited by stoneCold on Wed Feb 28, 2007 7:07 pm, edited 1 time in total.
Vectrex
Ogre Magi
Posts: 1266
Joined: Tue Aug 12, 2003 1:53 am
Location: Melbourne, Australia
x 1
Contact:

Post by Vectrex »

excellent news! I assume there's a good reason why it can't use .swf directly so I'll trust you on that :) I know using 3rd party libs can be annoying but BetaJen has been wrapping the Cairo vector/bitmap lib which is looking really nice. Apparantly FireFox 3 is going to use it so it sounds pretty solid. Might save alot of hassle doing antialiased stuff (unlike gameswf) and supports svg
http://www.ogre3d.org/phpBB2/viewtopic. ... =betacario
User avatar
stoneCold
OGRE Expert User
OGRE Expert User
Posts: 867
Joined: Fri Oct 01, 2004 9:13 pm
Location: Carinthia, Austria
x 1

Post by stoneCold »

Vectrex wrote:... I assume there's a good reason why it can't use .swf directly so I'll trust you on that :) ...
As stated above I use SwfTools code to parse the SWF content (because it really would take me months/years to get anything as far as they got, if I wrote it all by myself), and because SwfTools are covered by the GPL there was no way for me to use them, except writing a converter to my own file format
(I want to keep ogreSwf LGPL as all of you might understand :wink: GPL would be dead end for using ogreSwf in any closed source project).
Though I already thought about creating an own file format before, because SWF is a format which is optimized for websites (small, compact, tiny) and is thus compressed and not very friendly to read into memory fast. So the benefit of an own file format is that I can design it as I wish and loading an Ogre::Texture (or anything else) out of an .ogreswf file is like eating cookies :wink:

[edit]: PLUS it should free you from quite any restriction/licensing issue with adobe, you might have when using/redestributing SWF files with your game.

I hope this clarifies it a bit

greetings
JeDi
Gnome
Posts: 351
Joined: Thu Oct 21, 2004 1:34 pm
Location: Diepenbeek, Belgium
x 3
Contact:

Post by JeDi »

Good job! I'm really looking forward to the first release of the new system. I'm now busy concluding a PocketPC project, but in a couple of weeks I'll be able to work with Ogre full-time again. Using flash to design our in-game user interfaces is one of the first things on the menu.

Good luck!

Greetz,
JeDi
Post Reply