Product Chat / Disabling occlusion on specific objects

Author
Message
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 8th Sep 2016 19:18
Hi all. I've been continuing my latest project and along the way have noticed occlusion still has several issues. It makes no matter how I set it 1 or 100, I still see pop in and out an awful lot. It would be useful if you could disable occlusion from certain objects completely, or of course get GG working with them all as standard. I know you can disable an object from being an occluder, but you can't do the reverse. Animated doors are a big culprit and really need fixing. I find if I don't use a door it is fine. As soon as you open it, pop up issues appear.

Objects also don't work well if they have an offset pivot point. This is normally the case with many items that are built in separate parts. I can place a single item down and it will vanish from certain angles, with no other objects in sight! This happens regardless of the items use of notanoccluder in the FPE. Certainly needs looking at, as it can make objects vanish when you are on them!

A way to disable occlusion from individual items would be a quick fix for now, until the issues are resolved. Anyone else noticed this? I'm sure many must have! Disabling occlusion entirely works of course, but then you get dramatically slower frame rates. Generally you only get issues with certain items, as said, mostly animated doors and such, so disabling occlusion on those few would be fine


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 28th Sep 2016 00:24
Having an option to switch entities off from being occludees is a good idea, I've made a note in my short list. It's worth investigating which 'occluders' are hiding your entities however, as sometimes switching those off can also solve the issue without deactivating the whole system. I have also noticed that some entity geometry can trick the occluder system, so if you find any (in the stock media or your own custom models), let me know so I have more test objects to further improve the occluder.
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 28th Sep 2016 14:07
Having a way to set not an occluder somehow in editor would help as well That way you don't automatically turn it off for every wall in your map for instance although there are just 2 segments being affected, as an example. With only FPE options you end up turning it off on every cloned object on the map. Turning off occlusion as well would be useful for objects that vanish even when there are no others to occlude it! I'd be happy with lua options for this instead, if in editor is not an option you want until you update the interface.

I've noticed a lot of popup of late also, with certain objects. Take a basic corridor from the sci-fi pack, make a long tunnel with a T-junction at one end, then simply strafe left and right in the junction to look down the corridor. You will see it pop in and out quite nastily. Even lowering the occlusion amount makes no odds here. I tried this with the white corridor, but I imagine you would have the same issue with the others.


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 28th Sep 2016 15:05
Can you send me a simple FPM level with stock media, and I can add it to my short list. Disappearing walls is not the sign of a good game maker
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

cybernescence
GameGuru Master
11
Years of Service
User Offline
Joined: 28th Jan 2013
Playing: Cogwheel Chronicles
Posted: 28th Sep 2016 19:42
I've noticed this too. Having a notanoccludee flag would help for the fpe. Cheers.
Bored of the Rings
GameGuru Master
19
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 29th Sep 2016 07:53
I've been using notanoccluder=1 in the FPEs for a while now, does this not work?
Professional Programmer: Languages- SAS (Statistical Analysis Software) , C++, SQL, PL-SQL, JavaScript, HTML, Darkbasic Pro (still love this language), Purebasic, others
Hardware: Dell Precision 490; AMD Radeon HD 7570; 12GB.
FPSC to GameGuru Tools: SegAutoWelder, Entity+Weapon Welder
Belidos
3D Media Maker
8
Years of Service
User Offline
Joined: 23rd Nov 2015
Playing: The Game
Posted: 29th Sep 2016 08:01
Quote: "I've been using notanoccluder=1 in the FPEs for a while now, does this not work?"


notanoccluder does the opposite of what they want in this thread.

They want an entity to not be occluded by other entities, notanoccluder makes the entity not occlude other objects.

i5, NV960 2GB, 16GB memory, 2x 2TB Hybrid, Win10.
i3 , Intel integrated graphics, 6GB memory, 512GB Generic SATAIII Win8.1.
Intel Celeron (duel Core), Radeon integrated graphics, 4GB memory, 180gB Generic SATAII, WinVista.
Q6600, Intel integrated graphics, 8GB memory, 512GB Generic SATAII, Win7.
3com
10
Years of Service
User Offline
Joined: 18th May 2014
Location: Catalonia
Posted: 29th Sep 2016 11:48
In addition, all cloned objects inherit the same property (notanoccluder=1, in this case), via fpe file.

3com
Laptop: Lenovo - Intel(R) Celeron(R) CPU 1005M @ 1.90GHz

OS: Windows 10 (64) - Ram: 4 gb - Hd: 283 gb - Video card: Intel(R) HD Graphics

PM
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 29th Sep 2016 11:53 Edited at: 29th Sep 2016 11:55
Yes. Some objects vanish when occlusion is on, even when standing on them! A way to disable occlusion for occasional rogue objects would be a good work around. Obviously, having the occlusion simply work would be better, but I imagine a flag would be the easiest and fastest way for us to get around these little niggles at a slight performance cost I imagine. Although, sometimes games run faster with occlusion disabled entirely, it really depends on the map. I imagine on really small maps with not too many objects occlusion actually slows things down more than the actual poly count/ draw calls do.

@3com. Yes, the fpe edit is okay, but having a way to do it in lua or in editor would prevent that from happening


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.
Tarkus1971
Audio Media Maker
9
Years of Service
User Offline
Joined: 24th Feb 2015
Location: England, UK
Posted: 29th Sep 2016 13:20
Good call Dvader. I agree with this.
Aftershock Quad Core AMD FM2+ 3.5 GHz 8GB Motherboard and Processor, A7700k apu, Asus GT970 STRIX 4gb Nvidia gfx card.
King Korg Synth, Alesis SR18 Drum Machine, Akai MPX8 sample player, Roland Fantom XA Synth, Axus Digital AXK2 Digital Drum Kit, Novation Ultranova Synth, Waldorf Blofeld Synth.
OldPMan
3D Media Maker
16
Years of Service
User Offline
Joined: 10th Aug 2008
Location:
Posted: 29th Sep 2016 15:38
It seems to me that the occlusion should be used only for small objects such as a mug, pillow, chair, small box.
For larger objects such as animated the door or part of the designer type buildings (something big) need to use another method. Example of sight. entering into a certain area of ​​the objects appear or disappear leaving this area and these facilities should be completely excluded from the occlusion, engine of occlusion will be greatly free , and will be excluded the mistakes from pivot point center.
I do not know if is possible to use such zones in the Game-Guru. I am not engaged in the development of their own games so far, I only do the media and check them in Game-Guru for sale, but I have for a long time already have ideas for a couple of original games that I want to do for a long time, but I will start to do them while in GG It will not be added to what I need, and it is a more advanced AI, because the current level of AI is very bad (it's awful). But I love the whole engine Game-Guru. And it would be great, if there was, would be the possibility of some sort of automatic optimization of the landscape, it is a very big problem of productivity. A huge omission is 300,000 triangles with multitexturing example with almost flat surface of the desert with a few dunes. It is necessary to optimize the landscape.

And if started talking about optimization and performance I have a question, where does the graphics performance ? Where resources are videocard ???
Here's a look a little video.


I made it specifically is to compare the performance of graphics Game-Guru written in C ++ and rendering DBPro using AdvancedLighting from Evolved. DBPro (DarkBasic Proffessional) if someone knows it, too, TGC product (Lee Bamber). This video is:

  Directional light.
  Exponential variance shadow mapping for soft linear filtered shadow maps.
  Shadow map LOD.
  Refraction rendering.
  Screen space ambient occlusion.
  Post Filters - light scattering, anti aliasing.
  Dynamic sky with day night cycles.
  Terrain with up to 8 texture layers via atlas map.
  Ocean with reflections & refractions.
  Volumetric clouds.
  Dynamic foam near the shore!
 Note that everything is animated palm trees, all dynamic!

At the same time I'm getting more than 25 fps if i do not record video during the launch of the demo, while recording video from 11 to 23 fps.
In Game-Guru using all of the above described effects I get from 2 to 7 fps excluding Bandicam.
There is clearly some kind of mistake in the Game-Guru graphics engine.

I do not compare with the Game-Guru game engines from other manufacturers (Unreal, Unity), I compare two products, both written TGC Lee. Yes, shaders in this video for AdvancedLighting system written by Evolved, but DBPro written by Lee.
Perhaps to Lee should think about bringing some third-party expert in advanced rendering ?

And yet there is one thing, why can not I set a lower resolution in the Game-Guru to improve performance. It is evident then that in all game engines as possible. why not do it in Game-Guru ???

Do not get me wrong, I respect the work of Lee and the entire TGC team! I use all the products TGC for a long time , and it's great!
Perhaps I digress from the main topic of this thread, I'm sorry.
The secret to creativity is knowing how to hide your sources.
Belidos
3D Media Maker
8
Years of Service
User Offline
Joined: 23rd Nov 2015
Playing: The Game
Posted: 29th Sep 2016 15:49
Quote: "It seems to me that the occlusion should be used only for small objects such as a mug, pillow, chair, small box.
For larger objects such as animated the door or part of the designer type buildings (something big) need to use another method."


Absolutely agree, i was always under the impression that occlusion is normally used for smaller objects that would not be visible behind another object, and larger objects should use LOD, "fog" or blurring, and camera/draw distance to reduce impact on the system.

i5, NV960 2GB, 16GB memory, 2x 2TB Hybrid, Win10.
i3 , Intel integrated graphics, 6GB memory, 512GB Generic SATAIII Win8.1.
Intel Celeron (duel Core), Radeon integrated graphics, 4GB memory, 180gB Generic SATAII, WinVista.
Q6600, Intel integrated graphics, 8GB memory, 512GB Generic SATAII, Win7.
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 29th Sep 2016 16:55
Quote: "It seems to me that the occlusion should be used only for small objects such as a mug, pillow, chair, small box.
For larger objects such as animated the door or part of the designer type buildings (something big) need to use another method. "


I actually disagree on this, as GG needs every ounce of speed it can get, those big buildings can add up, and tree's don't start me on trees The current popup you can see is not great, but you can normally fix it with the notanoccluder setting. Also clever level design to hide the items popping up Not always of course, hence me asking about disabling specific objects. Still, the occlusion should cope with objects large and small fairly easily. If you have 30 buildings that you can't see because you are near a wall or such, it should not be rendering them. Again if your behind a hill, anything behind that is lower, should not be rendered. I don't think terrain occludes anything at present, just other entities. Equally the occlusion should be also on the terrain so when hidden by an entity or entities, the relevant sections of it are hidden. Terrain is a big drain at present in GG.

Lee should be working on improving this a little more soon(entity, not terrain), as I have started a dialogue about it with him. I think it's fairly close at the moment, the way GG works out when to hide objects just needs a better tolerance I think. It will cause it to be a little less efficient as it will hide the objects less, but will stop the popup as it should show the object before you actually can see it. This is always going to be difficult to get 100% right with such a variety of models out there.

As to comparing GG with DB. I can understand why DB is faster. It's not really down to the 3D engine, it's down to all the stuff GG is running compared to DB. Just compare your GG standalone size with your DB equivalent That's also the reason it is so slow to load up. The DB app will only be using what you have called yourself in code. The GG game will be running everything GG has to offer regardless if you want it or not. The problem with a program of this nature and why generally you will get better performance from programming it all yourself. Also why GG games are so bloaty, they copy everything over, including a lot of stuff never used. GG actually uses a lot of 3rd party shaders already as a start point. Pretty sure most are already by Evolved

When you compare the two, you are comparing apples with oranges. You would need a DB game to be running everything GG does to really compare them like for like. It's highly likely GG would win out on that one. At least as standard. With plugins for quads for instance, the DB game would probably streak ahead again. That plugin was awesome and I was surprised TGC never tried to do a deal with the author to include it in GG, rather than try to code it themselves, well Lee anyway. It worked really well and you could even have it fairly close up and still look decent. We never ended up with quads as apparently it gave no speed increase The DB one gave a massive speed increase.


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.
OldPMan
3D Media Maker
16
Years of Service
User Offline
Joined: 10th Aug 2008
Location:
Posted: 29th Sep 2016 17:48
Quote: "When you compare the two, you are comparing apples with oranges. You would need a DB game to be running everything GG does to really compare them like for like. It's highly likely GG would win out on that one."


I am sure that the GG win performance at DB game, it's true Lee did a great job and thank him for it.
Yes, I agree that GG does very much by default as a game engine. But I spoke only about the graphics performance is not a complete game process. For example, if I run the GG with minimal game settings I get 50-60 fps with palm trees, building, water, without a full-screen effects, but set maximum graphics settings my FPS drops to 2-7 FPS. While I think the problem is not my video card, I'm sure in this by the fact that almost the same thing, and even with a lot of effects + volumetric clouds, and a splendid water with reflections and refractions in the DB demo gives a 20-25 fps for me.
I noticed that rendering GG clearer than that Evolved, can be used, some other higher quality filtering or something like that, and that is the case?

In any case, I love GG, and will be with him constantly monitor progress and I'll do my game.

With regard to changing the screen resolution to increase performance.
Why in standalone GG game, I can not change the screen resolution to increase performance, is why I can only choose quality graphics but I can not change the resolution ? Indeed in all the games it is possible.
The secret to creativity is knowing how to hide your sources.
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 29th Sep 2016 18:13 Edited at: 29th Sep 2016 18:14
Quote: " But I spoke only about the graphics performance is not a complete game process. For example, if I run the GG with minimal game settings I get 50-60 fps with palm trees, building, water, without a full-screen effects, but set maximum graphics settings my FPS drops to 2-7 FPS."


Yes, but even so, Game Guru is calculating collision, physics, AI (even when there is none to a limited degree) in the background. It has to cater for any possible situation. DB, on the other hand will only be running the things you have coded in. I'll take a look at the video (been busy uploading up to now) and see how it compares, but I reckon the DB demo will be doing a lot less under the hud. The terrain may be smaller, there may be no AI at all. No collision on anything. It all depends on what is being used.

Just saying it's difficult to compare the two objectively without knowing what each is actually up to

Edit - I think you can force the res in the setup file by overiding the -1 which always chooses the current desktop res.


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.
3com
10
Years of Service
User Offline
Joined: 18th May 2014
Location: Catalonia
Posted: 29th Sep 2016 21:39
@ DVader
Yah! I know what you are looking for, and I agree with, even some command like "notanoccluder(e)" can be distance based:

if GetPlayerDistance(e) > 500 then notanoccluder(e) = 0 end

So, occlusion work again for that item, when player go far away. Though.

3com
Laptop: Lenovo - Intel(R) Celeron(R) CPU 1005M @ 1.90GHz

OS: Windows 10 (64) - Ram: 4 gb - Hd: 283 gb - Video card: Intel(R) HD Graphics

PM
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 30th Sep 2016 04:19 Edited at: 30th Sep 2016 04:21
Eventually everyone will realise the POWER of lua in GG! If the focus 12 months ago was with lua, GG would already be capable of much more despite of it's performance. It's a no brainer. Some of these basic commands and links to in game variables can make such a big difference to what is possible. I've done my best to badger Lee about core lua commands that are needed and a lot have actually been added, I will add. Kudos to Lee for listening and adding pretty quickly.

I like to think I have pushed GG as much as I can to show that many things are possible over the last few years. Including a farming script with XP levels, a body script to have an actual physical appearance and shadow in first person, (which was quite a feat considering GG's options at the time. It looked pretty good as well, considering I was using a default GG soldier), an occluder before the official occlusion was introduced, all for free. I've also put up several store scripts that have been popular, my thanks to anyone who have purchased any I've gotten GG to run emulators and my own programs wrote in an entirely different package, written my own 2D game in lua directly that you can play in game Shenmue or GTA style, plus a few other things I have never as yet shown (GG Space Harrier for one, but I didn't get it to the standard I wanted to show off). All with limited lua commands. Imagine what I can make with full lua control The same goes for any good GG scripter. If Lee gives us the tools we will make it. Why anyone would argue against this and think it's a bad thing, just because they do not code, is beyond my comprehension. In one way or another they will benefit from this, free scripts will pop up to make awesome stuff, as will paid ones, so why be against it?

I have just watched the DB demo. As I suspected, there's no collision, AI, physics or anything else beyond getting the scene to look decent. No idea how big the terrain is, but it doesn't look big in comparison to GG's. For certain, not a fair comparison Turn off all those features and GG would be a lot faster, it may not look as good in some areas, but that scene was pretty empty overall. All that DB demo has is a scene with nice shaders and basic mouse control code. I don't want to seem antagonistic, I just know from using DB in the past that this would probably be the case. DB was no speed demon. The C++ conversion of GG would put it way ahead overall. This is from someone who has used TGC products since 2000 or possibly earlier, been awhile. I constantly bemoan GG's lack of speed, but DB was no better, worse in fact, but you did have a LOT more control.


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.
OldPMan
3D Media Maker
16
Years of Service
User Offline
Joined: 10th Aug 2008
Location:
Posted: 30th Sep 2016 11:50
Regarding the size of the landscape, it is smaller than in the GG but not by much, but it can be done in 2 times more than in GG with almost no loss of performance, I checked.
I made a few more screenshots to not make the video. I fully agree that GG does a great job as the engine, but I repeat, I am only talking about the speed of rendering, in a scene in the attached screenshot 1500 animated palm trees and I'm getting 5-7 fps. This scene in GG just break my computer after i run test , I checked it just rebooted, as if I pressed the RESET button on the system board. I simply can not do it using GG.
I'm not saying that the DB is faster than GG. I'm just saying that we need some strong work on the rendering system in the GG.
Why can not we do in GG some very primitive objects that will perform only the function of visual decoration without involving physics engine, AI, LUA, only LOD ?
At any stage of the game there are objects that play a role only as a visual content and do not have any interaction with the physics and AI, why not do it in the GG. Why is any object is loaded into the GG has to deal with the AI engine? Maybe it prevents me to create in the GG, such as the scene in the screenshots ?
The secret to creativity is knowing how to hide your sources.

Attachments

Login to view attachments
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 30th Sep 2016 20:33
Have you tried F11 in GG and disabled the features to see what difference that gives you? You won't be able to do much when you disable everything, but you will see what speed difference it makes.


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.

Login to post a reply

Server time is: 2024-09-28 23:09:23
Your offset time is: 2024-09-28 23:09:23