Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / Info on Update5 and the Globstruct

Author
Message
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 13th Jul 2003 13:45
FYI, I've been exchanging emails with Lee about the move to DirectX9 in update 5 and the effect it'll have on us DLL writers ...

The news is not too bad The only change to the globstruct is the switch of the 4 DirectX8 pointers to their DirectX9 counterparts. Also, this means a change to the #include at the top of the header file.

So any existing DLL you have that uses the pointers should ideally be recompiled to DX9 and re-released when Update5 come along.
Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 13th Jul 2003 14:43
hmm... so its named differently?
well this should help developers out to create thier DLLs compliment both



then use the D3D_VER in your next header to include the right Dx libraries ... i know it seems like a length way of doing it, i have another one - i'll finish testing it before i post it.

Philip
23
Years of Service
User Offline
Joined: 15th Jun 2003
Location: United Kingdom
Posted: 13th Jul 2003 16:11
Is there a website anywhere which gives a list of what will be fixed in the next update?

Phil

What do you mean, bears aren't supposed to wear hats and a tie?
Rob K
Retired Moderator
23
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 13th Jul 2003 23:05 Edited at: 13th Jul 2003 23:05
No, but briefly:

- Upgrade to DX9
- PICK SCREEN / PICK OBJECT
- ALPHA control
- HLSL / Cg Shaders
- Improved bump mapping
- Metal mapping
- Various bug fixes
- (Possibly: Node Tree Engine)
- (Possibly: Portals)

in P6

- CSG Commands
- Low level vertex commands

Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 14th Jul 2003 00:06
bleck is that all U5 is getting?
- ALPHA control
- Low level vertex commands

thats all i want... and really to tell the truth all i want is actually just access to the object buffers and such.
it would certainly give Lee alot more time to focus on the far more important things to allow us to create our own extensions suchas Shaders.

ya know i have Bg just siting on my HDD in a finished state, no use to man nor beast without an interface to the DBpro objects.
Works fine in PB and in C++ ... but i didn't create it for either of them.

Rob K
Retired Moderator
23
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 14th Jul 2003 00:10
Just to make that clear - the low level stuff is U6 not U5.

Can you explain a bit more about exactly what you want re object buffers, what would the commandset be for example?

Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 14th Jul 2003 00:26
well DirectX uses 2 types of Buffer for LongTerm 3D
VertexBuffers and IndexBuffers ... in these it stores ALL the 3d information needed.

Vertex are generally for the 3D Information whereas the Index are more for additional editing information - if you wanna think about it in DBP terms the VB is a Memblock and an IB is a Mesh (though you still have data access in the IBs and you can render directly from either but this is just to make it simpler)

well with this information it would be possible to not only edit these but also apply DirectX features to them and such, as DirectX doesn't work in a linear basis so you can actually add anything you like whereever you like and it retains that state until you tell it otherwise.

This would allow us to make low-level vertex functions (which i already have done also, did it in like 4hrs) ... it would also allow us to apply effects like Shaders/CubeMapping/Physics/Etc... as we'll have the data and be able to update it outside of the DBP environment.

i mean right now with my Karma plugin you have to load 2 instances, the object instance and the KAT format data and in order to edit this i have to take an object place it within a mesh memblock take the data, edit it put it back and then call the mesh command.
apart from the glaring fact that the mesh memblocks / mesh command / object command (one of them) seems to like to loose data, meaning that things aren't always updated properly (if at all)

plus the latency between the memblock method (103.812ms) and native DirectX (12.431ms) is just ridiculous, that could mean ALL the difference in physics between an accurate calculation and a miscalculation. Not to mention if the data grab is slow that then in turn slows the entire process.
admitidly i'm on a slower testing this, as Karma really works best at <10ms latencies - so with my debug routines adding a bit of time its not going to be accurate to gameplay, but that wouldn't change the real difference.

i don't think the actual command set i'd create is quite as important as the functions themselves and what they'll achieve.

but right now anything low level you'd want to do without pissing about with the memblocks you can do with my Mesh Functions.

Eric T
23
Years of Service
User Offline
Joined: 7th Apr 2003
Location: My location is where I am at this time.
Posted: 14th Jul 2003 00:36
dammit we have to wait til six for updated CSG commands, damn i was waitin so much for 5 to have that... well back to waitin

Opinions are like a$$holes, Everybody has one.
Rob K
Retired Moderator
23
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 14th Jul 2003 03:18
@Raven

So, in essence, access to these features would allow you to effectively control the rendering of individual polygons / vertices using native DX commands?

Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 14th Jul 2003 10:31
sort of but the actual commands to do this arn't native... you'd simply be using the commands to access and replace the data.
it would be essentially like editing a memblock, only without the massive overhang that you get because of it

So like
HRESULT = Set Object Vertex( dwObject, dwVertex, Xf, Yf, Zf )

would crack open the VB for dwObject, scan for Vertex Set dwVertex and then edit the details.
you do it all by locking & unlocking the VB and editing the data like an array so like

LPDIRECT3DVERTEXBUFFER8 pVertexbuffer = g_pGlobStruct->pVB[*dwObject];
if(SUCCESS(pVertexbuffer->Lock())
{
pVertexbuffer[dwVertex+1]=Xf;
pVertexbuffer[dwVertex+2]=Yf;
pVertexbuffer->Unlock();
}

that wouldn't actually work but you get the picture... there's lots of functions that could be made though, because Matricies are also help in VBs & IBs it means that if you wanted to make a Ripple function for a Matrix as a function you could just do the same sorta stuff, - grab the current Y based on the X Z indicies, alter it a step then put it back, each loop would be the same creating a ripple effect with a single function without any desernable speed loss

ya know i wish there was a site setup specifically for TPF developers, ya know where we can like talk about the more complex things and issues outside of the DBP arena ... perhaps actually have Lee & Mike there to actually comment on what is going on. Some real feedback on all of this rather than in email form would be preffered, kinda annoying waiting a day for an answer to a question with is oftenly either yes/no lol

MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 14th Jul 2003 14:24 Edited at: 14th Jul 2003 14:25
I'll wait for Patch/Update/Modification/Upgrade/Improvement #5 before re-compiling everything - at which time I'll try the Core DLL thingie...

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins and other exciting things - oh my, yes!
3dZmaster
23
Years of Service
User Offline
Joined: 30th Jun 2003
Location: Finland
Posted: 14th Jul 2003 14:37
Hey guyz, what are thes "CSG Commands" going to be included in v6?

Current project: Dodge Viper Car Game (Not named yet) Other car models are going to be included soon
OrcishBlue
23
Years of Service
User Offline
Joined: 9th Feb 2003
Location: Canada
Posted: 14th Jul 2003 17:16
Oh pick screen and Pick Object in U5!
Can't wait ! x-d
UberTuba
23
Years of Service
User Offline
Joined: 5th Oct 2002
Location: Brittania
Posted: 14th Jul 2003 17:23
isn't csg entities?
what does pick object do?

Life is a terminal disease.
You never survive it.
Rob K
Retired Moderator
23
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 14th Jul 2003 20:45
Pick object returns the object at the specified coordinates on screen. Eg PICK OBJECT(X,Y) would return the object at X and Y on screen.

CSG commands are "building" commands as it were, you can use a CSG command to carve a shape out of one object using another object. You basically have the "material" object, and the "carving" object. This is useful for level editors. Download the Maplet demo from the Blitz site for an example of CSG. It could also be used for things like creating holes in the terrain when an explosion hits it.

IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 14th Jul 2003 20:46
CSG allows you to join several meshes together into a single mesh, or subtract one from another (eg cut one cube from another).

Pick object? What does it sound like it does?
jrowe
23
Years of Service
User Offline
Joined: 12th Oct 2002
Location: Here
Posted: 14th Jul 2003 22:44
When are they going to finish the LOD Terrain Command Set then? I thought it was going to be in Update 5!

For Fathers and Sons who enjoy wholy spirits.

Login to post a reply

Server time is: 2026-07-21 12:50:47
Your offset time is: 2026-07-21 12:50:47