Description was changed from ========== LightingShader normal vector CPU computation refactor. DOES NOT RUN. DO ...
4 years, 6 months ago
(2016-06-08 17:38:55 UTC)
#1
Description was changed from
==========
LightingShader normal vector CPU computation refactor. DOES NOT RUN.
DO NOT LAND. CPU RENDERING OF LIGHTING SHADER SEGFAULTS.
BUG=skia:
==========
to
==========
LightingShader normal vector CPU computation refactor. DOES NOT RUN.
DO NOT LAND. CPU RENDERING OF LIGHTING SHADER SEGFAULTS.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
==========
dvonbeck
Description was changed from ========== LightingShader normal vector CPU computation refactor. DOES NOT RUN. DO ...
4 years, 6 months ago
(2016-06-08 17:44:08 UTC)
#2
Description was changed from
==========
LightingShader normal vector CPU computation refactor. DOES NOT RUN.
DO NOT LAND. CPU RENDERING OF LIGHTING SHADER SEGFAULTS.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
==========
to
==========
SkLightingShader normal vector CPU computation refactor. DOES NOT RUN.
DO NOT LAND. CPU RENDERING OF LIGHTING SHADER SEGFAULTS. Implementation's
structure is clunky, lacking comments, and does not comply with style guide.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base is the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
==========
Description was changed from ========== SkLightingShader normal vector CPU computation refactor. DOES NOT RUN. DO ...
4 years, 6 months ago
(2016-06-08 19:44:06 UTC)
#4
Description was changed from
==========
SkLightingShader normal vector CPU computation refactor. DOES NOT RUN.
DO NOT LAND. CPU RENDERING OF LIGHTING SHADER SEGFAULTS. Implementation's
structure is clunky, lacking comments, and does not comply with style guide.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base is the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
==========
to
==========
SkLightingShader normal vector CPU computation refactor.
DO NOT LAND. Implementation's structure is clunky, lacking comments, and does
not comply with style guide. Execution should be unaffected though.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base is the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
==========
dvonbeck
Description was changed from ========== SkLightingShader normal vector CPU computation refactor. DO NOT LAND. Implementation's ...
4 years, 6 months ago
(2016-06-13 16:52:33 UTC)
#5
Description was changed from
==========
SkLightingShader normal vector CPU computation refactor.
DO NOT LAND. Implementation's structure is clunky, lacking comments, and does
not comply with style guide. Execution should be unaffected though.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base is the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
==========
to
==========
SkLightingShader normal vector CPU computation refactor.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base is the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
==========
dvonbeck
4 years, 6 months ago
(2016-06-14 17:35:04 UTC)
#6
egdaniel
+Mike to check all the needed scan line stuff is added correctly https://codereview.chromium.org/2050773002/diff/100001/src/core/SkLightingShader.cpp File src/core/SkLightingShader.cpp ...
4 years, 6 months ago
(2016-06-16 13:48:10 UTC)
#7
4 years, 6 months ago
(2016-06-16 13:48:34 UTC)
#9
actually adding reed this time
dvonbeck
Description was changed from ========== SkLightingShader normal vector CPU computation refactor. The purpose of this ...
4 years, 6 months ago
(2016-06-16 21:51:53 UTC)
#10
Description was changed from
==========
SkLightingShader normal vector CPU computation refactor.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base is the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
==========
to
==========
SkLightingShader normal vector CPU computation refactor.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base was the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
==========
dvonbeck
I just uploaded a BitmapShader-backed NormalMapSource. It still has deeply nested classes, but there's less ...
4 years, 6 months ago
(2016-06-16 22:05:40 UTC)
#11
4 years, 6 months ago
(2016-06-20 20:03:58 UTC)
#14
https://codereview.chromium.org/2050773002/diff/160001/src/core/SkLightingSha...
File src/core/SkLightingShader.h (left):
https://codereview.chromium.org/2050773002/diff/160001/src/core/SkLightingSha...
src/core/SkLightingShader.h:59: static sk_sp<NormalSource> MakeMap(const
SkBitmap& normal, const SkVector& invNormRotation,
On 2016/06/20 15:00:39, reed1 wrote:
> 0. Should we have a variant that takes SkImage? SkPixmap?
> 1. MakeFromBitmap ?
> 2. More dox on normal rotation...
> - does that vector have to be normalized (i.e. length == 1)?
> - why is 'inv' in the name?
> - what is a default value? (... 1,0 ?)
> 3. Is normLocalM forward (my guess) or inverse?
> - can I pass nullptr?
0. I could make it take in a shader instead of a bitmap, and make it
"format-agnostic". I think that sounds like the best option, instead of having
different factories for each format.
1. I called MakeMap from NormalMap, not Bitmap. If I end up writing the API I
described just now, I'll call it MakeFromNormalMap and take in a Shader
instead.
2. The vector does have to be normalized. Greg and I will talk to Rob tomorrow
and discuss what the best approach for this specific parameter is once he gets
back on Wednesday, since he wrote that part. Inv is supposed to stand for
inverted. I'll give it a default value that results in no rotation.
3. It is a transformation from texture coordinates to the shape's source space.
I assume this is forward? It is the same format as the local matrices for the
bitmap shader. Nullptr is accepted, gets interpreted as an identity matrix. I
will add this details to the comments.
dvonbeck
Review comments were addressed.
4 years, 6 months ago
(2016-06-24 15:25:41 UTC)
#15
Review comments were addressed.
egdaniel
This looks fine to me, Mike is there anything else you want to change/add here?
4 years, 5 months ago
(2016-06-27 13:47:16 UTC)
#16
This looks fine to me, Mike is there anything else you want to change/add here?
Description was changed from ========== SkLightingShader normal vector CPU computation refactor. The purpose of this ...
4 years, 5 months ago
(2016-06-27 15:44:01 UTC)
#22
Message was sent while issue was closed.
Description was changed from
==========
SkLightingShader normal vector CPU computation refactor.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base was the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
==========
to
==========
SkLightingShader normal vector CPU computation refactor.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base was the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
Committed:
https://skia.googlesource.com/skia/+/790a70118327a129cb6b48fabe80f4e184c1e67c
==========
commit-bot: I haz the power
Committed patchset #13 (id:240001) as https://skia.googlesource.com/skia/+/790a70118327a129cb6b48fabe80f4e184c1e67c
4 years, 5 months ago
(2016-06-27 15:44:02 UTC)
#23
Description was changed from ========== SkLightingShader normal vector CPU computation refactor. The purpose of this ...
4 years, 5 months ago
(2016-06-27 16:31:20 UTC)
#25
Message was sent while issue was closed.
Description was changed from
==========
SkLightingShader normal vector CPU computation refactor.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base was the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
Committed:
https://skia.googlesource.com/skia/+/790a70118327a129cb6b48fabe80f4e184c1e67c
==========
to
==========
SkLightingShader normal vector CPU computation refactor.
The purpose of this change is to refactor the handling of normal maps out of
SkLightingShader, laying the groundwork to eventually allow for multiple normal
sources.
This CL's base was the CL for GPU handling:
https://codereview.chromium.org/2043393002/
What this CL includes:
- A refactor of the SkLightingShader context's code that deals with reading
normals off of a normal map. This is now abstracted out into a
NormalSource::Provider class that the context uses.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
Committed:
https://skia.googlesource.com/skia/+/790a70118327a129cb6b48fabe80f4e184c1e67c
==========
dvonbeck
The CQ bit was checked by dvonbeck@google.com to run a CQ dry run
4 years, 5 months ago
(2016-06-27 17:36:04 UTC)
#26
Issue 2050773002: Refactoring of CPU NormalMap handling out into its own class
(Closed)
Created 4 years, 6 months ago by dvonbeck
Modified 4 years, 5 months ago
Reviewers: egdaniel, reed1
Base URL: https://skia.googlesource.com/skia@dvonbeck-normals-gpu-cl
Comments: 10