Welcome Guest [Log In] [Register]
We hope you enjoy your visit.


You're currently viewing the Ultimate 3D Community as a guest. This means that you can only read posts, but can not create posts or topics by yourself. To be able to post you need to register. Then you can participate in the community active and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.

Join our community!

If you are already a member please log in to your account to access all of our features:

Username:   Password:
Add Reply
U3D should live on!; Some things about our favorite engine||Features you want to see in U3D 3
Topic Started: Oct 26 2012, 10:28 AM (1,123 Views)
gmfun
Member Avatar
Advanced Member
[ *  *  * ]
Hi everybody!
As I wrote in topic GM Studio+Ultimate3D Review I am going to start a topic about improving Ultimate3D.
So,the first thing I want to tell you is about a forest(yeah,about a forest!).
In the U3D 2.0 Tech Demo we can see great example how to render big forest in U3D.
But everybody understands that it is far from being perfect because rendering such forest could be done more faster. The main problem is behind the SLOW GML code wich is used to implement quad tree culling.
In the file "Programming notes",included in Tech Demo folder Dr. Best wrote this:
Quote:
 
I may add some special features to future versions of Ultimate 3D, which could reduce the things Game Maker needs to do for forest management and therefore could increase the performance

So,now I want to ask Dr. Best whether he could do this for us.
I would be grateful(and other members of U3D Community,I suppose) for implementing some forest rendering system.As for me it would be very useful!

If you find some another things to implement in U3D write them down here.I also will try to find more facts and ideas.

The second thing I want to add: Even if U3D would be still the same,we should make something to make it live on.
Many members would think that it is mad idea,but I want to tell you about it.
So,my idea is to create some pdf magazine about U3D.
A lot of nice ideas are on U3D Community but a lot of them are written in old topics wich could be never seen by new members.
Ultimate3D magazine also will popularize U3D engine. And I really want that everybody will know about one of the best 3D engines for Game Maker ever created.

Anyway, thank you,Dr. Best,for Ultimate3D.

***************************************************************************************************************************
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
***************************************************************************************************************************

EDIT:

Everybody knows(but I`ve forgotten) that U3D 2 for GM has been discontinued.
Now you can post in this topic to tell Dr.Best what features you want to see in Ultimate3D 3.
Edited by gmfun, Nov 6 2012, 08:28 PM.
My blog
Offline Profile Quote Post Goto Top
 
Replies:
alexmach1
Member Avatar
Graphics addict
[ *  *  *  *  *  * ]
would it be possible to make additive/negative blending a numerical value? ie 1 is fully additive, -1 is fully negative, and .5 is half additive?

reason: particle effects such as rocket trails and explosions often have large orange/white spheres that cool down into black smoke, so that would be one practical application.
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
To do that you simply have to render stuff with lower final fragment color, i.e. lower brightness.
Offline Profile Quote Post Goto Top
 
gmfun
Member Avatar
Advanced Member
[ *  *  * ]
I am not shure wat it is,so just look on particles on the screenshot(Flatout 2):
Spoiler: click to toggle


They look like 3D. Does anybody know what it is?
Attached to this post:
Attachments: 1.jpg (121.42 KB)
Edited by gmfun, Nov 6 2012, 08:23 PM.
My blog
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
I guess that's rotating particles with random sprites. Since I have not planned a new particle system in detail yet (I removed the old one just recently), I can not promise anything, but it's probably going to be available. 3D particles are not so hard to do either. Actually 2D particles require more extra-code.
Offline Profile Quote Post Goto Top
 
Gandalf20000
Member Avatar
Geek
[ *  *  *  *  *  * ]
Dr. Best
Oct 28 2012, 06:07 PM
I guess that's rotating particles with random sprites. Since I have not planned a new particle system in detail yet (I removed the old one just recently), I can not promise anything, but it's probably going to be available. 3D particles are not so hard to do either. Actually 2D particles require more extra-code.
Yeah, 3d particles don't require an extra transformation to force them to face the camera at all times.
Offline Profile Quote Post Goto Top
 
DJ-Habana
C# King
[ *  *  *  *  *  * ]
Dr. Best
Oct 26 2012, 01:07 PM
Despellanion
Oct 26 2012, 12:23 PM
I would love to see a C# interface as I use that on a daily basis.
That probably won't happen. C++ and Python bindings cover all needs quite well. Quick scripting can be done in Python while performance-sensitive stuff can happen in C++. This does not leave a big need for C#. In addition to this platform independent development with C# can be tricky, because C# is mostly pushed by Microsoft. There are more important features to spend the rare development time on.

BTW: Everybody feel free to stay on topic and discuss ideas for new features in Ultimate 3D. I promise, that I will read them. It might be a useful inspiration. Don't expect new U3D features for GM though.
Bummer :ph43r: , awell I know C++ (not better than C# but enough to use it)
Posted Image


Offline Profile Quote Post Goto Top
 
alexmach1
Member Avatar
Graphics addict
[ *  *  *  *  *  * ]
list time!

new DrawTex/DrawTexEx variable: additive blending
new DrawTex function that uses 2 textures: the diffuse with alpha and the color overlay, for simple health bars
new feature for .u3d format: sequences - stored frame pairs for simplifying animations
new function for sequence adding/storing
new function for turning the rotz of a model towards the camera for indefinite facing (static billboards)
new function for retrieving bone scales
texture position (00,01,10,11) values for SetModelMaterialStageTexture

i shall think of more later
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
alexmach1
Nov 5 2012, 04:07 AM
list time!
None of the function names you are mentioning still exists, but I will comment on ways to have these features in future U3D versions.

alexmach1
 
new DrawTex/DrawTexEx variable: additive blending
new DrawTex function that uses 2 textures: the diffuse with alpha and the color overlay, for simple health bars
I have not planned the new 2D drawing features in detail yet, but what you are asking for will be doable in a convenient way for sure.

alexmache1
 
new feature for .u3d format: sequences - stored frame pairs for simplifying animations
new function for sequence adding/storing
I'm probably going to add rather fancy animation controllers. Storing a few frame intervals will be the least they can do. And with the brand-new component system absolutely everything can be saved in *.u3d files including the engine itself.

alexmach1
 
new function for turning the rotz of a model towards the camera for indefinite facing (static billboards)
new function for retrieving bone scales
The engine is going to feature a very generic system for transformations. It will support fancy stuff like parenting, animations and you can derive custom transformations, which could e.g. implement such an automatic facing.

alexmach1
 
texture position (00,01,10,11) values for SetModelMaterialStageTexture
There is an abstraction of texture coordinate sets within shaders, which makes it quite easy to do this.
Offline Profile Quote Post Goto Top
 
gmfun
Member Avatar
Advanced Member
[ *  *  * ]
I just want to ask how the D3D9 and D3D10/D3D11 will be supported simultaneously in U3D. As I know there is no fixed-function rendering pipeline(D3D9) in D3D10/D3D11. There is a lot of work,I suppose, to implement such things.Even to render a single triangle in D3D10/D3D11 you need to write vertex and pixel shaders(they`re very basic and do not require a lot of knowledge :D ). These things tell me that there are a lot of BIG differences between D3D9 and D3D10/D3D11. I also wnat to ask whether the we should to write such shaders when using D3D10/D3D11 or U3D 3 will do this for us? Do you have plans about that,Dr.Best?
Anyway,D3D11 is very powerful(it has geometry shaders to implement VERY REALISTIC fluid simulation,for instance). So with support of D3D11 Ultimate3D will became very powerful engine,I suppose.
Edited by gmfun, Nov 5 2012, 07:16 PM.
My blog
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
gmfun
Nov 5 2012, 07:12 PM
I just want to ask how the D3D9 and D3D10/D3D11 will be supported simultaneously in U3D. As I know there is no fixed-function rendering pipeline(D3D9) in D3D10/D3D11. There is a lot of work,I suppose, to implement such things.Even to render a single triangle in D3D10/D3D11 you need to write vertex and pixel shaders(they`re very basic and do not require a lot of knowledge :D ). These things tell me that there are a lot of BIG differences between D3D9 and D3D10/D3D11. I also wnat to ask whether the we should to write such shaders when using D3D10/D3D11 or U3D 3 will do this for us? Do you have plans about that,Dr.Best?
Currently Ultimate 3D does all the rendering with shaders. The fixed function pipeline is not used at all. However you do not have to write shaders yourself. A component based shader system takes care of this. It is highly extensible and flexible. Things like adding new types of light sources or materials can be done without writing any C++ or Python code. Only HLSL code and component definitions are needed. And of course this system works with any backend for which a HLSL compiler exists. This covers all Direct3D and OpenGL versions.

Once the shader code is created we enter the realm of GPU resident resources. Examples of such resources are shaders, textures, vertex buffers, index buffers and vertex format declarations. Ultimate 3D provides backend independent components to describe such resources. For example there is an image component, which can load images from input streams (e.g. files). To make such resources usable for the backend you set up a component for a GPU-resident resource, e.g. a texture having an image bound. The texture also has a device bound. The task of actually generating an IDirect3DTexture9 or a similar backend specific object is delegated to a factory held by the device.

This means, that only the device and the held factories need to know about the backend. Everything else is backend independent. As a consequence new backends can be defined simply, by adding a new component for the device and for the associated factories.
Offline Profile Quote Post Goto Top
 
alexmach1
Member Avatar
Graphics addict
[ *  *  *  *  *  * ]
applying normal mapping will preserve cube/environment maps
ability to assign the environment map texture slot (instead of being stuck at 1)
function to detect pixel colors (for manual volume lighting on bright surfaces)
raycast returns object ID
function to get rotation & position of bones without saving a vector
function to change individual texture colors instead of whole model
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
Quote:
 
applying normal mapping will preserve cube/environment maps
Environment mapping will probably be brought back in the form of specular lighting with light probes, because this is what it corresponds to in a physics-based rendering pipeline. All lighting features use whatever normal is provided, so "environment mapping" will combine with normal mapping perfectly.

Quote:
 
function to detect pixel colors (for manual volume lighting on bright surfaces)
A recent addition to the engine is, that it distinguishes between images and textures. Textures originate from images, so if you want to retrieve color values of a texture, you can simply access them in the image, which is stored in main memory, if you need it.

Quote:
 
raycast returns object ID
There are no object IDs anymore. However there are objects and raycasting tells you which one was hit by giving you a pointer.

Quote:
 
function to get rotation & position of bones without saving a vector
All transformations are going to be data sources. This means, that you can access their data in generic ways. In particular you can simply retrieve the transformation matrix.

Quote:
 
function to change individual texture colors instead of whole model
I have no idea what you mean. Diffuse and specular colors are already being set per material in U3D 2.1.
Offline Profile Quote Post Goto Top
 
Reikyrr
Forum God
[ *  *  *  *  *  * ]
Vertex colors :whistle:
~Inspirational quote~
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
Reikyrr
Nov 13 2012, 12:49 AM
Vertex colors :whistle:
How about arbitrary sets of data sources per vertex?

Just asking, because that's what I implemented two weeks ago ;) .
Offline Profile Quote Post Goto Top
 
alexmach1
Member Avatar
Graphics addict
[ *  *  *  *  *  * ]
Dr. Best
Nov 13 2012, 12:33 AM
Quote:
 
function to detect pixel colors (for manual volume lighting on bright surfaces)
A recent addition to the engine is, that it distinguishes between images and textures. Textures originate from images, so if you want to retrieve color values of a texture, you can simply access them in the image, which is stored in main memory, if you need it.
Quote:
 
function to change individual texture colors instead of whole model
I have no idea what you mean. Diffuse and specular colors are already being set per material in U3D 2.1.
I meant pixel colors on the screen, ala a color at position x128, y1251 has an RBG of (255,255,255), therefore place a gradient circle at that position for fake volume lighting.

what I meant was texture stages, so Color Correction (team color textures, used most often in halo) textures can have their colors changed while being multiplied over the diffuse without changing the overall model color. think of minecraft's grass texture, where the grass changes color but the dirt stays brown. not separate materials, as that would require outlining the texture with geometry
Offline Profile Quote Post Goto Top
 
Go to Next Page
« Previous Topic · Off-topic · Next Topic »
Add Reply