TrueVision3D 6.5 Wrapper - Progress Report

Miscellaneous Forums/General Discussion/TrueVision3D 6.5 Wrapper - Progress Report

You can read the full status report in my latest worklog entry :

http://www.blitzbasic.com/logs/userlog.php?user=2922&log=624


To summarize, I'm putting the project on hold until the developers provide me with a method of linking the DLL via MinGW. I've done everything I can and spent well over 100 hours on this already, but I can find no way to link it. One of the developers claims to have done it and that it works fine, so I have put a lot of effort into it based on his word. Perhaps if they knew that BlitzMax users were interested in it, and they realised there could be sales in this, they might be able to place a higher priority on giving me the solution to this.

More details on how you can ( possibly ) help in the worklog.

Thanks for reading, and apologies to those who have been looking forward to this, but I really cannot afford to spend any more time on a task which currently appears fruitless. However, I meant what I said in the worklog. If/When the linking issue is resolved, I will resume work on the wrapper immediately.

Sorry to hear about this. Appreciate all your efforts so far

I can wait to see this working :) keep the good work Gabriel

thanks

*** UPDATE ***

I've been given a new version of the DLL and Lib by the TV3D Devs, compiled in GCC, which appears to work perfectly, at least in a couple of simple tests.

I'm away from home until Thursday, but I plan to get back into it when I have time.

That's very good news !!

FabTastic!

Great!

Any chance of having this for Blitz3D - you know, a 'man's language'?

Nope, TV3D is an object-oriented engine, and my wrapper emulates the structure of the engine as closely as possible with BMax. Also, Blitz3d would need an intermediate DLL, whereas I can just link the C++ wrapper with the BMax source for my module. Also, because TV3D uses "proper" Windows programming, you really need to have a callback function for the windows update procedure. I'm not sure if you'd ever need to add anything to this yourself, but if you did, Blitz3d wouldn't let you. A couple of other functions use callbacks too, and B3D just doesn't support them.

I do know that a couple of people have expressed an interest in writing a B3D wrapper, and they're more than welcome to the source of my module when completed if they think it will help them, but I won't be doing any of it myself, as I think wrapping for BMax is going to present enough of a challenge.


EDIT: And BTW, I just ran a little test app ( can't do much until I get home ) and I have a nice little TV3D window on the screen, with the logo displayed, and the FPS counter showing ~3000FPS ( well it is a blank screen, but even so.. ) So the biggest hurdle is passed.

you should be getting paid for this Gabriel. Why don't all these guys who make wrappers charge folks for them?
It makes sense considering al the time you say you have spent on this. Just curious really. :)

I remember thinking the exact same thing when I saw GMan writing his wrappers for 3Impact and Irrlicht. Then when you start doing it yourself, you feel like it would be wrong to make money from someone else's work. It's true that it's been a lot of work for me already and there's a lot more work to come, but asking people to pay me as well as pay for the engine just seems wrong.

I just got a license for truevision so i now have 6.5 and I love it hope you finish this gabriel. :)

Gabriel, you definately should charge something for all your hard work, even if its only $15-$20.

but asking people to pay me as well as pay for the engine just seems wrong.

Why?, thats like saying "People have already bought a PC, I can't ask them to pay for my game aswell"

Charge for it Syb. Don't ask a fortune for it and at the end of the day the time you spent getting this wrapper sorted is time you could have spent making your next game.

I've often wondered myself why Gman works on wrapping engines for free and according to him he does it to help the community. I think I've told gman to atleast put a donate button on his site so that we could donate him a little cash.

I'm planning on buying TV3D and would hate to have to deal with C++ as I'm not comfortable with it at all. If your wrapper will allow me to use TV3D with BlitzMax then that's something I would Pay for or Donate money for.

It's up to you at the end of the day. :)

I'm sure that no-one would protest at paying for this, at least anyone who understood the work & time involved.
Being able to use TV3D with Max would be worth paying for.

I wouldn't charge for it. It's like if I were to charge for the Cg modules I'm writing -- it would be making a profit off of someone else's work.


it would be making a profit off of someone else's work


totally agree. on top of that, once you charge something for it, expectations for support skyrocket. people expect way more from you when they pay for something.

Nevermind.

yeah i dont know if I would charge for it but do whatever you want with it i know ill be getting it as long as it isnt to expensive.

it would be making a profit off of someone else's work.

Isn't that the same using Blitz to create something to sell? - In effect you're also making profit of someone elses work.

TV doesn't work out of the box with BlitzMax, so if something else is required why should that be given for free?, especially when someone has spent many hours creating it.


In effect you're also making profit of someone elses work.


good point. i think Noels concept and what i agree with falls in line with mods based on something thats free. in the case of the 3Impact mod, my second thought kicks in whereas i wouldnt mind selling a mod for it, but do i have the resources to support that mod.

i get better support from Gman then I do on most software I pay for... I find that people turn greedy real quick and often lack on the support of their product when they charge for it.

Isn't that the same using Blitz to create something to sell? - In effect you're also making profit of someone elses work.


The difference is that with Blitz we're using it only 'internally', so to speak, not trying to pass their work off as our own. If we were to wrap all of the BlitzMax/Blitz3D/etc. functions and then sell it, then that would be immoral (and in the case of BlitzMax, probably illegal and a violation of the license agreement(s) -- however, with Blitz3D, this has already been proven to not be a violation of the license agreement (but that says nothing about the morality of doing so)).

My point is if you're selling a straight-up wrapper of something, that's wrong. If you're using that code to make your product which will not actually expose the other entity's work (at least not without some form of written permission), then that's fine.

especially when someone has spent many hours creating it.


And as for me, only took about an hour. Gotta love perl scripts.

I would happily pay for a wrapper the same way as I would pay for anything that required expertise and effort from someone other than myself. I don't think interfaces, or any intellectual property, should be de-valued just because the effort involved is hard to quantify.

I am surprised when people automatically assume something should be free just because it only adds to the original and is not original.

Imagine all or the PC or automobile accessories that would be free because they weren't "invented" by Intel or Ford.

I do not think anyone who creates a wrapper or interface into an API or library is likely passing it off as their own.
If this was true then, theoretically, anything that uses OpenGL or DirectX as an underly graphics API is in violation of Noels thinking.

Bottom line is this: A wrapper is is a piece of software that someone had to create, usually with an investment of time and effort. I believe that if they want to be compensated for their effort good on 'em. If they want to make freely available than that's cool too.

Like all good software if people are willing to use it and it is not free then they should pay for it or go write their own.

If it is free then "you get what you pay for" holds and all comments with regards to stability, suitability to purpose etc... are moot.

Noel is a very sharp guy. He could easily write his own. Me on the other hand ... I have to reach for my wallet and thank God for the smart people out their who make it easier for me to write the software I want to write rather than have to write.

Gabriel, please, at the very least offer a Paypal method of compensation on your Website so that the folks who appreciate this type of work can compensate you accordingly.

One more thing. I think that BRL and TV3D really need affiliate programs.

If Gabriel's wrapper creates sales for TV3D than he should get a cut. Same with BRL. This method of E-commerce works on many levels and I believe is a win for eveyone.

Just my opinions of course.

Allan

I guess you disregarded my lengthier explanation, Hambone.

When someone sells an engine, are they selling a straight-up wrapper of OpenGL or Direct3D? No. They're selling a completely new API that utilizes it internally. There is a big difference between wrapping an API and using the API internally to create something.

Once again, it's like if I were selling my Cg wrapper. It's a straight interface to Cg, so what would I be doing? Selling Cg. If I were to write a complete 3D engine and it just so happened to use OpenGL, would I be selling OpenGL? No, I'm selling code that uses OpenGL internally, not a straight wrap of the OpenGL API.

I'm gonna have to agree with Hambone and others. I think it's perfectly legitimate to charge. I just don't want to. Filax charges for his Tokamak wrapper, and if GMan charged for his 3Impact wrapper, I'd buy it.

The analogy to wrapping B3d doesn't work because that denies B3d sales. What I'm writing and what GMan wrote is more of an interface than a wrapper, since it does nothing without purchasing the underlying library. Thus you're bringing new sales to the product and it's perfectly legitimate for you to be rewarded. I just don't want to be.

We'll see how it goes. If I'm happy with the end result and people like it, I might put up a PayPal donate button. That seems reasonable.

Is filax selling a straight-up wrapper of Tokamak or has he written a new API to make working with it easier?

Nope,

I read your post and then read it again and I still disagree.
If you are creating a wrapper for CG and for whatever reason, compatibility, ease of use,ust because you can, then you have a right to expect to be compensated if you so choose.

BTW. Is your wrapper cool? I hate straight CG/HLSL/GLSL so if it saves me time/is easier I might buy it.

All I am saying is that just because something is easy for you and you don't place much value on it don't assume that I wouldn't happily pay for your work. I look at some of your stuff and shake my head in coder envy.

Noel, you are one of the more prolific and generous guys when it comes to code and I for one really appreciate that.
I think your particle system is the best and if properly cleaned up and some flashy demos were added it would have killed Particle Candy.

I am serious. If you took all of the bits and pieces of things you've done, cleaned them up, documented them and offered them for sale as one offs or the whole package you would make a few bucks. You would'nt likely get rich (ask Swift) but you would at least be able to buy a few good books once in a while.

Allan

Is your wrapper cool? I hate straight CG/HLSL/GLSL so if it saves me time/is easier I might buy it.


What do you mean 'cool?' It's a straight wrap of Cg. I don't know about you, but I can work with it just fine. Maybe you're just a bad coder? *Shrug*

I look at some of your stuff and shake my head in coder envy.

Noel, you are one of the more prolific and generous guys when it comes to code and I for one really appreciate that.


Then why haven't you donated? Ungrateful git.

If you took all of the bits and pieces of things you've done, cleaned them up, documented them and offered them for sale as one offs or the whole package you would make a few bucks.


Waste of time and money in the end. I have better things to spend my time on.

I also agree with Hamebone, I don't think there is any issue of morality in charging for a wrapper. The only real issue is legality, not morality, forget morality Noel C, it's not immoral to charge for one's work, ok. :)

if its a reasonable price and works well why not. I'd be interested but would want to try it first. Being an artist I'm also interested in the art path and how well graphics features are supported.

Hope they have something comparable to the new ogre plugins for max.

http://ofusion.inocentric.com/index.html

> if its a reasonable price and works well why not.

i (absolutely) agree, if it's legal to charge (which it should be) then why not? the only reason is as gman states, people will EXPECT service, so if you can't provide that (i guess via a forum) then you shouldn't charge. I know i wouldn't mind paying for a wrapper if I wanted it, so i guess it's up to the creator of the wrapper at the end of the day. The thing, i think, with wrappers is that it's quite a "grey area", if you know what i mean, which is why i can understand why these guys don't want to charge for it.

Noel,

I am not neccessarily a bad coder, just a lazy one. *Dumb analogy alert* [I like working on cars but I wouldn't want to have to deisign and build my own carborator. Bolting someone elses on works for me and doesn't in any way label me a bad mechanic. If I buy a carb I expect it to work as advertised, be clean and come with instructions. If I get one for free I expect to have clean it, tune it and research how to get the most out of it. ]

If someone gives me something for free and then says "if you like free stuff please give me money in the form of a donation" then it's not really free, in fact it costs me more since I had to clean it, tune it, figure it out on my own etc ... and be guilted into a donation for the pleasure.

As far as your wrapper I asked if it was "cool" in hopes of eliciting some more info about. That's all.

If you want to give your stuff away for free because it is incomplete, undocumented or just plain feel like it and ask for donations, go right ahead. I ain't complaining. If you decide to kick it up a notch and actually sell your stuff I think that's great too.

BTW I think whole argument comes from the fact that there is a lot of confusion about what a wrapper and interface is.

For example, I don't think Gabriels wrapper is going to be standalone. It will require TV3D and BMax to work.

Anyway, I don't want to get into an "Software deserves to be free" debate because I personally believe nothing should be free if there is a market for it.

Allan

Hope they have something comparable to the new ogre plugins for max.


The Max Plugins for TV3D are great. Best I've ever had. I've never had an animated multi-textured character export perfectly the very first time I used the plugin before. There's always been a learning curve but not with this.

if its a reasonable price and works well why not.


TV3D is, I believe, $150 for a one commercial product license. The wrapper will be free. While I agree with those who say it's fair to charge, I don't want to sell it. If people like it and think it's worth something to them, they can decide that after they've tried it, and if they want to donate, that would be very generous. If they don't like it and they think it's worthless, that's cool too.

For example, I don't think Gabriels wrapper is going to be standalone. It will require TV3D and BMax to work.



Quite Correct.

Well, i support the notion of donateware!

I hope that you guys (Gabriel and Gman) set up an unmissable donate link on your sites, coz um, this is hard -stuff- man!

could anyone tell me how they got visual basic express 2005 to work with tv3d?

oOooh, crikey. I'm keeping my eye on this!

*bump*

could anyone tell me how they got visual basic express 2005 to work with tv3d?


Wouldn't this question be better placed on the TV3D Forums where people actually use Visual Basic a lot?

lol i was thinking that myself..

On topic: Gabriel how goes the Truevision Wrapper?

Wouldn't this question be better placed on the TV3D Forums where people actually use Visual Basic a lot?

9/10 times, when i ask a question like that, i usually don't get a answer because it's common sense to most people.

9/10 times, when i ask a question like that, i usually don't get a answer because it's common sense to most people.


Well check the Wiki or the IRC channel. There's a lot of support for it.

On topic: Gabriel how goes the Truevision Wrapper?


It's complete, in the sense that every method of every class is wrapped. Just squished an annoying bug with freeing meshes, so now it's just a case of testing, testing and more testing before I unleash it for public testing.

Good stuff your doing here Gabriel :-)

Cheers,
Lee

Pleassssssssssse Gabriel!!! Post some screenshots or anything................

Gabriel: I have 6.5 and have been using it extensively if you need a tester email me at ckob@...

heh sounds good, look forward to seeing something done with it. Maybe someone will do something good enough to make me want to part with the $150 to play with it myself :)

By the way, if anyone with TV3D happens to have any small demos which show off just one or two features per demo ( any language, I'll convert C++, VB, C# or Delphi ) it would be really use to have them. Preferably things which require little/no external media. I'm trying to test, but I've never used TV3D, so it's making testing much more time consuming and ineffective than it should be.

Ya know, a few lines of demo to show off the glow shader on a sphere, or a moving object being shadowed or whatever. Just drop it in my inbox and I'll convert to BMax, and use it to test the wrapper.

Thanks guys.

have you used the sdk from 6.2 yet? im in the process of rewritting some of them to use for 6.5 and they look great

No I have no experience with TV3D whatsoever. I don't generally use any COM compliant languages, so I haven't been able to ( although I am currently learning C# to broaden my skills. )

So I'm learning the TV3D API as I go, which means it's often hard to tell if the bug lies in the wrapper or in my knowledge of the API. Anyway, I no longer need a sample of glow, as I can confirm that the Glow shader is working perfectly.

A 2500 poly soft-skinned character with skeletal animation and the glow shader runs at ~1000FPS, which is nice.

Ten x 2500 poly soft-skinned characters with skeletal animation and NO glow shader run at ~600FPS.

So it seems pretty fast.

Much more testing required but so far so good.

Thanks for the demos so far, they've helped me locate a couple of bugs and a flawed method of object handling, which have now been resolved.

I could really, really use a very simple demo of shadows in 6.5 though. Any language is fine. I wrote one of my own, and converted a C# example from the forum, but I get no shadows with either. It's really hard to know where the problem lies if I don't know if either piece of code is definitely correct before we get to the wrapper.

On the plus side, offset bump mapping and custom HLSL shaders are working fine. Several of the NVidia sample shaders are tested and working, including passing parameters such as colors, materials, lights, etc.