Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finer control over resolution and rendering options? #70

Open
cfcohen opened this issue Feb 28, 2018 · 2 comments
Open

Finer control over resolution and rendering options? #70

cfcohen opened this issue Feb 28, 2018 · 2 comments

Comments

@cfcohen
Copy link

cfcohen commented Feb 28, 2018

This demo was an excellent introduction to the new Godot 3.0 rendering engine. Thank you for providing it! This "issue" is really just a new feature suggestion.

On my dual 4K monitors with a GTX970 I initially had a very low frame rate (~3 FPS). I know, it's shocking! But seriously, I had some trouble understanding how to control the resolution, the rendering quality and the fullscreen options because of the way that the options were inter-related. Being able to control the resolution independently of the fullscreen option would be particularly useful. Also, I was interested in toggling each of the advanced rendering options independently to compare appearance and frame rates. I was able address most of these issues by loading the project in the Godot editor and adjusting the settings manually, but this demo would be greatly improved by making them more configurable at run time.

Also I noticed that that the model at http://www.crytek.com/cryengine/cryengine3/downloads was slightly different, containing some foliage and other features missing from the Godot demo. Was this just because it was built with an older version of the model or was there a specific decision to exclude portions of the asset?

Thanks again for a great demo!

@Calinou
Copy link
Owner

Calinou commented Feb 28, 2018

Being able to control the resolution independently of the fullscreen option would be particularly useful.

Godot currently doesn't support 3D undersampling out of the box, which is the modern way of dealing with non-native resolutions – it's not the fastest in fullscreen, but it's more convenient and Godot cannot force a fullscreen resolution anyway.

The viewport scaling mode affects everything (including the GUI) and uses nearest-neighbor filtering, making it unsuitable for this. However, I was told it is possible to implement 3D undersampling with linear filtering using a custom viewport.

Also, I was interested in toggling each of the advanced rendering options independently to compare appearance and frame rates.

That's a good idea, a "Custom" preset which lets you tweak any setting individually could be added.

Also I noticed that that the model at http://www.crytek.com/cryengine/cryengine3/downloads was slightly different, containing some foliage and other features missing from the Godot demo. Was this just because it was built with an older version of the model or was there a specific decision to exclude portions of the asset?

I made the foliage fully transparent which effectively hides it (but the GPU still has to render it). I haven't got transparency to work on the foliage since the original textures seem to use a solid color to indicate transparency, which Godot doesn't support as far as I know. See the screenshot below:

sponza_foliage_no_alpha

I've seen a few Sponza demos in other engines with the same rendering issue on foliage.

@cfcohen
Copy link
Author

cfcohen commented Mar 1, 2018

Thank you for taking the time to respond to my comments. You wrote:

The viewport scaling mode affects everything (including the GUI) and uses nearest-neighbor filtering, making it unsuitable for this.

I changed the width and hieght of the window in the project settings, then I set the stretch mode to viewport. After re-exporting, the fullscreen choice appeared to run at the window resolution that I exported (or at least the visual appearance and frame rates varied as expected). I did not find the scaling of the GUI objectionable. I had presumed that you could control all of those settings during the execution, but I opened an issue rather than submitting a pull request because I don't really know.

I guess your point here was that this wasn't really the correct way to have handled that, but at least it allowed me to view the demo in fullscreen and have a double digit frame rate, which certainly improved my experience,even if it wasn't optimal. ;-)

I haven't got transparency to work on the foliage since the original textures seem to use a solid color to indicate transparency, which Godot doesn't support as far as I know.

I noticed the same thing when I loaded the Crytek model into blender, and I wondered if that was a bug in the model. I asked about it partially because I was curious to see how Godot handled the transparency. Now that you've told me that it was there, I was able to disable the transparency in the project and see the foliage, but as expected it looks strange because of the texture color problems. At least I understand better now.

Thanks again for making this available. Godot 3 is so new that there aren't as many demos showcasing the 3D render's capabilities as I would like so I keep reopening this project to experiment with things (like using the debugger to monitor vertex counts). I was initially surprised to see that the vertex count was constant, but then I realized that the entire scene was a single mesh instance. Have you tried exporting the scene with multiple geometries, and if you did would view frustrum culling happen?

Sorry to ask some many newbie questions, but the demo is great learning tool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants