Project

General

Profile

Feature #1995

Improved 3D model shaders

Added by skyjake over 4 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Enhancement
Start date:
2013-10-12
% Done:

100%


Description

The new 3D model shading need some improvements:
  • Allow specifying different shaders for models as needed.
  • Provide model vertex colors as a vertex attribute to the shader.
  • Add texture mapping type for reflection cube maps.
  • Fog.

Related issues

Related to Feature #2105: Manually created reflection cube maps for modelsClosed2015-07-29

Related to Feature #1623: ShadersProgressed2013-03-01

Follows Feature #8: New GL2 based model rendererClosed2013-10-11

Associated revisions

Revision 79570cab (diff)
Added by skyjake almost 4 years ago

Model Renderer|Shaders: Multiply vertex color into diffuse texture color

The general-purpose shaders in renderer.pack now multiply aColor into
the color from the diffuse texture map.

IssueID #1995

Revision 637ac102 (diff)
Added by skyjake almost 4 years ago

Renderer|Shaders: "model.skeletal.generic" supports uMapTime, custom UV macro

The generic shader can now be customized with predefined macros.
The PREDEF_TRANSFORM_UV() macro is called before texel lookup.

uMapTime is available for use in the shader, although the default
implementation does not use it for anything.

IssueID #1995

Revision 14dce08c (diff)
Added by skyjake almost 4 years ago

Renderer|Shaders: Added a GLSL include file for reflection cube maps

IssueID #1995

Revision 20d2343c (diff)
Added by skyjake almost 4 years ago

Model Renderer: Added a shared reflection cube map

For now all models will share the same reflection cube map.

IssueID #1995

Revision ea8ee37d (diff)
Added by skyjake almost 4 years ago

Renderer|Shaders: Incorporate reflection map to shaders

All generic shaders now support reflection mapping.

IssueID #1995

Revision 1982d6bd (diff)
Added by skyjake almost 4 years ago

Model Renderer: Use /home/cubemap.jpg as the reflection cube map

For testing purposes, check for "cubemap.jpg" in the runtime folder
and use it as the reflection cube map.

IssueID #1995

History

#1 Updated by skyjake over 4 years ago

  • Tags changed from 3DModel to 3DModel, OpenGL, Renderer
  • Subject changed from 3D model shaders to Improved 3D model shaders

#2 Updated by skyjake over 4 years ago

  • Follows Feature #8: New GL2 based model renderer added

#3 Updated by skyjake over 4 years ago

  • Due date deleted (2013-10-12)

#4 Updated by danij over 4 years ago

  • Target version deleted (42)

#5 Updated by skyjake over 4 years ago

  • Target version set to 2.0 – Home UI & Packages

#6 Updated by skyjake over 4 years ago

  • Related to Feature #2105: Manually created reflection cube maps for models added

#7 Updated by skyjake over 4 years ago

  • Description updated (diff)

#8 Updated by skyjake about 4 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 20

There can now be a different shader for each rendering pass of a model.

#9 Updated by skyjake about 4 years ago

  • % Done changed from 20 to 40

Fog is now implemented for 3D models (in renderer.pack/include/fog.glsl).

#10 Updated by skyjake about 4 years ago

#11 Updated by skyjake almost 4 years ago

  • % Done changed from 40 to 60

Model vertex colors are now read from the model file and provided as an attribute named aColor.

#12 Updated by skyjake almost 4 years ago

  • Description updated (diff)

#13 Updated by skyjake almost 4 years ago

  • % Done changed from 60 to 80

The shader functions for reflection cube maps have now been implemented. The next step is integrating the reflection as part of "model.skeletal.generic".

#14 Updated by skyjake almost 4 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 80 to 100

#15 Updated by skyjake almost 4 years ago

  • Description updated (diff)

#16 Updated by skyjake almost 4 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF