Jump to content

Expose vegetation functions


Raz
 Share

Recommended Posts

Hey there!

After setting up our own custom scene loading command, I've now come across an issue that I'dve never thought I'd come across..

 

What on earth is the purpose of a really nice vegetation system when the feature set to control it is not exposed to us programmers?

 

I've now searched the forums and seen that this has been an issue for quite some time.. Seriously, for us, who want to procedually generate our terrain, including vegetation placement (no, we can't use the editor for it), that's just a game breaker..

 

Even worse, I then thought about just coding our own vegetation system.. but from the looks of it there's not even access to the batch rendering commands / specific model formats LE uses to render vegetation, thus rendering any attempt at drawing huge amounts of vegetation using any custom system useless..

 

This is really incredibly annoying, seeing as the engine allows me to control such a lot, except for vegetation.. (which every single other engine out there does just fine)

 

We really need that feature set back, or at least a way to access the model format LE's using to render vegetation so we can write our own system.

 

Greets,

Philipp

Link to comment
Share on other sites

I will write a short summary on how to use the vegetaion functions in blitzmax and also provide a new engine.dll extended with these functions soon.

Note these functions are and will not be officially supported by Josh (as far as i know).

  • Windows 10 Pro 64-Bit-Version
  • NVIDIA Geforce 1080 TI
Link to comment
Share on other sites

I will write a short summary on how to use the vegetaion functions in blitzmax and also provide a new engine.dll extended with these functions soon.

Note these functions are and will not be officially supported by Josh (as far as i know).

I was just thinking the same, that I could release a custom engine.dll which has also TMesh GetWaterPatch(), but maybe you could add that too since you're already on it?

Then I would need to make custom C/C++ headers too which go along with the custom engine.dll.

 

Maybe the custom headers and custom engine.dll should be named a bit differently, to avoid accidental mixing up if they are in common system paths and include directories?

For example: enginece.dll, enginece.h, enginece.cpp, where "ce" stands for Community Edition (and it's still only 8 characters, so Windows can handle it).

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Of course i can add this as well. I have already added the veg functions to the dll as I'm using this in C#, but before release i wanted to add some more functions which are maybe needed.

 

The idea about the different dll names sounds practical and we should do this.

  • Windows 10 Pro 64-Bit-Version
  • NVIDIA Geforce 1080 TI
Link to comment
Share on other sites

No disrespect, but I'd rather these functions were part of the official release. If Josh point blank refuses to do so then a community solution would be welcome but I think he should have the chance to comment on this first. This is the second suggestion I've seen for custom community solutions and DLL releases and if we are not careful this could all get a bit messy!

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

Of course Josh can add these functions to the official DLL too, but I don't see any reason why we should have to wait when people need it now.

I've suggested earlier too that the community could do some testing releases, and if they work well, Josh can add them to the official release.

 

That's actually what he has done already many times: he added hnphan's SSAO, and in 2.43 he added Aily's SSAA.

I'm sure there are also more examples which were added from the community to the official engine.

 

It's kinda nice, so we have registered member's open source and commercial software working together. Others could learn something from this collaboration model :)

 

So, I offer to support the Community Edition C/C++/Fortran headers metaofficially.

The DLL can be done by anyone, we just need a changelog so we can keep the headers updated.

klepto2 or Lazlo will be probably interested in supporting the C# headers.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Yep, that’s fine, so long as officially supported functionality is reflected in the officially supported API then it matters not where the code was sourced from, so long as it works and is shown to do so. I'm all for community based innovation.

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...