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

Add more useful 3D viewport rendering modes #11392

Closed
Calinou opened this issue Sep 18, 2017 · 11 comments
Closed

Add more useful 3D viewport rendering modes #11392

Calinou opened this issue Sep 18, 2017 · 11 comments

Comments

@Calinou
Copy link
Member

Calinou commented Sep 18, 2017

Now that Godot includes a wireframe mode for the 3D viewport, more viewport rendering modes could be added for the convenience of developers and artists alike.

Outline mode

Outline mode example

This mode displays materials as usual, but displays a wireframe on top of them. The color should be settable by the user, but probably should default to a white or light gray color.

Example use case: Displaying geometry complexity while still being able to freelook through a level easily.

Lighting mode

Lighting mode example

This mode sets the normal map strength of all materials to 0, sets the albedo texture and color to pure white (#ffffff), disables specularity, sets roughness to 1 and metallic to 0.

Example use case: Analyzing lighting conditions in a level, regardless of the applied materials.


Footnote: the screenshots come from Cube 2: Sauerbraten, I am not working on an implementation of these modes in Godot.

@blurymind
Copy link

blurymind commented Sep 19, 2017

Do we have wireframe mode?
Just wires, no materials, no faces

@Calinou
Copy link
Member Author

Calinou commented Sep 19, 2017

Do we have wireframe mode?
Just wires, no materials, no faces

Yes, Godot already supports this (in 2.1 and 3.0, I think).

@ghost
Copy link

ghost commented Sep 20, 2017

Another one, Viewport movement locking when using a Quad setup.

@fracteed
Copy link

fracteed commented Sep 21, 2017

The main issue with wireframe mode at the moment is that it is always fully shaded. If there are no lights or gi generated in the scene you will see no wires, unless objects have a luminant texture.

As can be seen in the first image which has full baked lighting, all wires are visible and this actually looks really cool (haven't seen this style of wireframe mode in a 3d app before). The problem is this same scene, before any lighting is added looks like the second image. It would be totally black if there were no luminant meshes.

wire1

wire2

There are workarounds, like putting in some temp directional lights, but there is a great need for a solid color wireframe mode that can optionally pick up the albedo solid color to use per mesh. Would be great to keep the existing wireframe mode (called wireframe shaded) and have an additional wireframe solid option(like traditional wireframe looks). Since the current wireframe mode does look solid for meshes with luminant textures, I am guessing this is possible?

I agree that a combined unshaded + solid wire mode would be VERY useful! I would mostly use a mode such as this to lay out levels. Currently I mostly use unshaded, with some wireframe or overdraw as needed. The main issue with unshaded is that it is difficult to see any separation between separate meshes, which an overlaid wireframe (or even better just an outline of each mesh) would help rectify.

@nunodonato
Copy link
Contributor

nunodonato commented Jul 14, 2018

@fracteed I also had the same "wow" reaction when I saw that kind of wireframe for the first time. it does look cool, but is it useful? Usually when we need to go into wireframe mode, you dont want to get lighting problems in the way of debugging.

I would say to keep a standard wireframe would be more useful, but maybe we can have both? A cool wireframe and a clean wireframe? :D

clean wireframe with no light affecting it (but still using material and texture)
cleanwire

clean wireframe without material textures
cleanwire2

cleaner wireframe (no background)
wiredark

clay render:
clay

however, this is not fit for implementation due to a few issues:

  • gizmos are affected by the changes (e.g. no shading)
  • the no-texture wireframe mode messes up the viewport icons (e.g. camera)

@fracteed
Copy link

@nunodonato I agree that the current wireframe mode is not very usefull. A non-shaded wireframe and a wireframe over unshaded mode would be preferable. I also like that clay mode option you mentioned. To take that idea further, I would love to see a "matcap" option as can be used in Blender or Zbrush. This is very useful to see all models with uniform shading/lighting with some added cavity shading to simulate SSAO.

@nunodonato
Copy link
Contributor

according to comments I read in other issues, by @akien-mga and @reduz , it seems the gizmo problems won't see a fix before 3.2 when we have render layers. So I guess that for now maybe this isn't a showstopper?

would it be useful to do a PR with a different wireframe and clay mode?

@akien-mga akien-mga modified the milestones: 3.1, 3.2 Dec 11, 2018
@akien-mga
Copy link
Member

Assigning to @reduz as per #20333 (comment) and IRC discussion.

@aaronfranke
Copy link
Member

Considering this has to do with rendering, should it have the 4.0 milestone?

@Calinou Calinou modified the milestones: 3.2, 4.0 Aug 20, 2019
@clayjohn
Copy link
Member

Lighting mode has been added. Still need to improve wireframe mode to close this.

@Calinou
Copy link
Member Author

Calinou commented Jun 3, 2020

Closing in favor of godotengine/godot-proposals#1000, as feature proposals are now tracked on the Godot repository.

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

8 participants