Max 3D Module wishlist

BlitzMax Forums/BlitzMax Programming/Max 3D Module wishlist

bradford6(Posted 2006) [#1]
Instead of the constant proverbial "are we there yet" ranting about the 3D Module, please use this thread to post what you would like to see included in the 3D module. This will be much more useful to the kind folks at BRL.


Robert Cummings(Posted 2006) [#2]
I wish these bugs to be fixed first before 3D:


* windowed mode: running another fullscreen app trashes my blitzmax app graphics if my blitzmax app is windowed.

* mouse lag bug under dx: this is a known bug and most commercial games work around it. I would like Blitzmax to work around it also.



Then in the spirit of this thread, I would like Mark to take a close look at Unreal 3 engine technology and make a 3D engine with similar attributes and leave the art path to us.

I consider Blitzmax 3D being a real opportunity for BRL to show some cojones and really go hell for leather with future rendering technologies.


ImaginaryHuman(Posted 2006) [#3]
That's kinda like, I don't mean to complain ... but then this is my complaint .... end of complaint, okay now I am with ya ;-)

*teasing you* No biggie.

I think it'd be nice to have some `default` shaders, so like you can easily have a cartoon effect or some funky lighting thing, a good selection to choose from, for the beginners.

Also I hope the physics will be closed incorporated so you can get everything to collide in detail.


degac(Posted 2006) [#4]
For the 3d module:
*more accurate collisions
*ODE physics as easy as 3d command is for blitz3d
*more control on textures
*support for *some technology* DXTC, render2texture (yes I know it already exists but just in case...)
*shader made easy (I doubt...It is something that not depends on BRL)
*bones better supported (skeleton management?)
*support for old gfx card (I would like playing some new game on my old computer...:P)

this list is born on the basis of my (very little&poor) experience on Blitz3d, maybe there is something better and useful.

I suspect that other 'features' in Bmax will be ironed out during the test of the 3d mod...
Of course I know that much of what I wrote is in working...
byez


FlameDuck(Posted 2006) [#5]
Well the two most missing features from Blitz3D are:

*Texture compression
*Weighted vertices
*More control over resources (models/textures mostly)
*More control over surfaces and textures.

As long as they're in - I'm happy. For now.


N(Posted 2006) [#6]
* Animation that isn't done in software
* Texture compression
* Access to the underlying resources (not source code, just something like GetInternalObject:Object( obj:Object, id% ) so I can retrieve stuff like a D3DXMesh)

Thankfully, Truevision 3D already offers all this, so I don't need to switch :D


Gabriel(Posted 2006) [#7]
Well the two most missing features from Blitz3D are:

*Texture compression
*Weighted vertices


It has weighted vertices. They're transformed in software though.

I have to agree with OEJ though. I find it harder to go back to old work, and although Mark and Simon are infinitely better programmers than I, I'm sure there must be an element of this for them. So I really would like to see at least the most pressing issues with already released modules taken care of first.

And when a 3d module is released, I'd want to see :

* Vertex shader(s) used for skeletal animation ( automatically, behind the scenes. )

* Extensive CAPS reporting.

* Texture compression

* An optimized renderer.

* The ability to get down and dirty with both objects AND the renderer itself. Proper control over the renderer, that is.

* Good access to pixel and vertex shaders. IE, the ability to link to PS and VS variables and content because plug and play with shaders doesn't work.

* Support for non-shader hardware.

* B4D Format - The sequel to the B3D format, with backwards compatibility with the existing B3D format, so that we can get in and working with the old features without finding a new artpath. Without an artpath, it's all for nothing.


Takuan(Posted 2006) [#8]
*A good Art Pipeline.
Cant say Milkshape is bad, you just get better results with texture/lightmap baking, liquid physic animation and scenes you created in one enviroment not via import..export..lights here..lights there..gaaah
My Dream: a Blender Plugin.
Like it more then Max if it comes to low poly modeling. Its free and has some cool stuff in since v2.40

*I vote for Vapor Ware releases (maybe a locked Forum for marketing reasons;).
With Vapor Ware, i dont say BRL should give us buggy versions, they should break the engine in working chunks.
That "its done when its done" attitude is nice for games or space shuttle software, it doesnt make much sense here.
Tons of editors could be made in advance without proper collision detection or culling or whatever.
Lets say it would be possible to create a shader fx editor via max, people would have to wait for things like that month's after Max3D final version came out, plus maybe weeks until people get familiar with Max3D.
Not very good.
Put a "Buy it at own risk License" in, make clear that its not the final version and lets rock.
Conitec did it and it worked very well, see no reason why it shouldnt work here better.
Will also help to get things stable and its a good chance for beginners to get into the language.


Michael Reitzenstein(Posted 2006) [#9]
*Weighted vertices


Ummmm.....


Multiple bone weights. Each vertex can now be influenced by up to 4 bones, each with an
arbitrary weight. If more than 4 weights are present, the 'heaviest' 4 are used. Weights
are always normalized so that they sum to 1. Bones can still only be imported/created via
B3D files.



Zethrax(Posted 2006) [#10]
I'd like to see mesh primitives, sprites, etc, created so that they extend from -0.5 to +0.5 giving them a total width of 1.0. The way Blitz3D does it, giving the created entities a width of 2.0, makes it counter- intuative when scaling.

A 'HideEntity' type command that turns off rendering for an entity and its children, but doesn't interfere with picking and collisions, and doesn't modify the existing alpha setting of the entity the way using 'EntityAlpha ent, 0.0' does. For use with visibility occlusion management code, etc.

For all the media resources (models, sounds, images, etc) that the engine can use, there should be ways provided to create these resources programmatically. For example, in Blitz3D while you can load a boned model, you can't create a boned model in code.

It should be possible to use the engine's resource loading routines to load resources from a standard memory bank. This would allow additional ways of accessing resource files (eg. For loading via the internet, via threaded dlls, etc.) to be added without the need to write custom loaders to get the finished resources into the engine.

I'd also like to see a lot more commands for getting the state of the various engine components. Idealy, for every 'SetState' type command there should be a 'GetState' command.


Jeroen(Posted 2006) [#11]
My wish is to be able to design shaders in a tool from e.g Nvidia, and load in the result in Blitzmax, or this one from 3dlabs: http://developer.3dlabs.com/downloads/shadergen/index.htm

Shaders can be very complex, so third-party tool support to design them is just as important as a third-party tool to create models.


TMyke(Posted 2006) [#12]
Oh, all its features will put Max3D over the top Last_Unreal_Engine or CryEngine :) :)

The most important (for me) is:
(facility of use) + (last 3D technologie) + (to always keep an acceptable FPS)

... and it's not easy to do that.


FlameDuck(Posted 2006) [#13]
It has weighted vertices. They're transformed in software though.
Ummmm.....
Sorry. When people whine alot about Blitz3D not getting any updates, I assumed it was because Blitz3D wasn't getting any updates. My mistake.

My wish is to be able to design shaders in a tool from e.g Nvidia, and load in the result in Blitzmax, or this one from 3dlabs:
But isn't the problem with those tools that they produce code that only works for specific cards and API's, and are not general purpose?

That one from 3DLabs for example appears to only work with OpenGL, and I'm sure the one from nVidia doesn't work remarkably well on ATi chipsets...


Dreamora(Posted 2006) [#14]
Thats why there are tools that create results in HLSL or GLSL so they are "only" API specific ... at least until the next evolution in shader where both hopefully become one to make unified shaders really unified and not unified per API


bradford6(Posted 2006) [#15]
I agree with much of what has been listed here. Here are mine (many culled from other posts but my wishlist nonetheless)

1. Intuitive 3D mesh and Camera Controls
2. Tight integration with ODE
3. Occlusion system
4. Terrain system
5. Maplet II that spits out a lightmapped (occluded?) B3D (or B4D) file.
6. a few standard Built in vertex and Fragment shaders. Stuff that most people would benefit from.
7. a few more 3D primitives built in than in Blitz3D. (things like geosphere, capsule, chamfered cube and such and of course the ubiquitous Teapot)- not necessary but, just like #6 makes sharing and learning the language a bit less painful

I am willing to wait for a well designed and stable Module. a few teaser demos wouldnt hurt though.


Red Ocktober(Posted 2006) [#16]
... of all the wishes i've seen and not seen posted, the one overriding wish that i have is that it were here...

:)

--Mike


Robert Cummings(Posted 2006) [#17]
Sorry. When people whine alot about Blitz3D not getting any updates, I assumed it was because Blitz3D wasn't getting any updates. My mistake.
Really? You must assume about a lot of the other stuff you say too.


FlameDuck(Posted 2006) [#18]
You must assume about a lot of the other stuff you say too.
How do you figure that?


N(Posted 2006) [#19]
Let's not let this go sour already.


semar(Posted 2006) [#20]
- Easy to use and reliable 3D engine, with as much as possible compatibility with Blitz3D syntax
- MapletII with import of textured B3D levels with lightmapping preserved
- A *complete* example collection for each command.
- An help file where is possible to do a search for command. Or, as the B3D help, a command list sorted alphabetically, which each command text that acts as a link to its description.

Sergio.


LarsG(Posted 2006) [#21]
Let's not let this go sour already.
darn it.. and I had already taken my socks off.. :p


N(Posted 2006) [#22]
darn it.. and I had already taken my socks off.. :p


Now that.. that is just gross :S


Dreamora(Posted 2006) [#23]
I have one major wish:

Fully OO designed 3D engine, not like Max2D procedural with OO "set on top"


Chris C(Posted 2006) [#24]
yeah OO in the 3d engine would be nice, I was kinda disapointed with the gui mod not having consistent get and set methods between gadgets.

So if there were seperate pivot and entity objects in the 3d module you could do

pivot1.getPitch(local=true)
entity1.getPitch(local=true)

but *please* NOT

getPivotPitch(pivot1,local=true)
getEntityPitch(entity1,local=true)


Hotcakes(Posted 2006) [#25]
I agree first and foremost with the texture compression, which still baffles me why it isn't in B3D to this day. Secondly, (at least portions of) BlitzMax needs to be made thread safe and a threading module provided. This should affect the streaming system and hence all media loading commands.

Also I hope the physics will be closed incorporated so you can get everything to collide in detail.

And of course not tied to the 3D system =] I think Mark already has plans for that sort of thing, which is good...

Put a "Buy it at own risk License" in

I agree 100%. With a larger than heading 1 font size, bold and underlined, a smaller version also underneath the 'buy now' link and flashing, with animated gifs of skulls and crossbones going up in flames for the background.

Of course people will still miss it and complain and fuss etc, but at least we will be able to make major fun of them and insult them and stuff. That's what the internet is for.


xlsior(Posted 2006) [#26]
- Quickly finished, so they BRL focus on non-3D stuff again


Chroma(Posted 2006) [#27]
I'm taking a month hiatus...hoping max3d will be out by the time i get back... =(


Skitchy(Posted 2006) [#28]
Support **** CURRENT B3D FILES **** because there are already art paths in place. Add new formats if you like, but for the love of Ralph, Support **** CURRENT B3D FILES ****

Umm... not wanting to dilute the importance of the first bit of this post (re-read it a few hundred times so that it sinks in) a few more bits :
LOD (realtime & precalc)
Gain speed by specifying if a mesh is 'static' (ie. doesn't change/move)
Remove the surface bottleneck
A terrain system like Torques - the LOD on that is amazing
Decent collision
Faster Linepicks (I use linepicks a LOT)
Fast Backbuffer pixel access
Fast Texturebuffer pixel access
Render to texture
Shadows (I have yet to try an inde 3D engine where the shadows dont have harsh glitches and slow the app by about 50%)
Vehicle Physics ;)


Braincell(Posted 2006) [#29]
Quick release
Nice dynamic lights
Vertex shaders, pixel shaders, normal maps, the lot
Threaded loading into memory
Texture compression
Generic shaders or easy way to create shaders
Collision system like in HL2 (lol)


Hotcakes(Posted 2006) [#30]
Oh yeh. Also ImageBuffers, which can also be used in the 2D module.

Lord knows we won't see them before the 3D module is out.


slenkar(Posted 2006) [#31]
cel shading


John J.(Posted 2006) [#32]
Here's a few things I'd enjoy having in Max3D:


* Optional LOD for objects, where you can give the engine multiple models for an entity, and the engine will transition LOD levels automatically (like Ogre3D).

* Shaders (like Ogre3D)

* Static mesh optimization (like Ogre3D)

* Hardware-accelerated animation (like Ogre3D)

* LOD terrains, optimally like Torque's, and without Blitz3D's limitation of 0.0 - 1.0 for the height range - actual float values are better, and do not have severe precision problems.

* Object-Oriented Interface


xMicky(Posted 2006) [#33]
Max3D should be able to work together with Max2D-Graphic-Functions like Blitz3D can display 3D entities and Images, Circles, Lines... on the same screen.


Alienforce(Posted 2006) [#34]
Is there any offical post what the Max3D will include ?


ImaginaryHuman(Posted 2006) [#35]
3d particle engine?


Makepool(Posted 2006) [#36]
Proper multitextring so I can create decent terrains that work with the Z BUFFER.


Sledge(Posted 2006) [#37]
Bump mapping. Not build-a-really-complex-model-then-generate-a-normal-map mapping, because that's only useful to 3D artists; I mean draw-the-bumps-in-greyscale-like-any-old-idiot-can mapping.


Regular K(Posted 2006) [#38]
Best thing that Max3D will have is the access to the source code so you can add anything you want as long as you have the knowledge! or ask someone else to :p


Bob3d(Posted 2006) [#39]
I hope next gen of blitz 3d products wont have linear interpolation for its character animation. Well, I bet it already was going to be spline or similar(keeping smooth, keeping the 3d packages curves in interpolation). (I say as an artist, not as a user)


Dreamora(Posted 2006) [#40]
John: This LoD implementation isn't even needed. DX8+ has in its extension library a specific mesh system which is especially there for LoD objects. This would allow to use real LoD meshes with a dynamic value, not premade models.

As todays cards take that much calculation of the CPU this kind of stuff shouldn't be that a problem anymore