发明名称 |
Efficient computation of shadows for circular light sources |
摘要 |
Methods and apparatus are provided for displaying shadows of circular light sources. A computing device can determine a light source and an occluding polygon that is between the light source and a receiver surface, where the occluding polygon includes vertices connected by edges. The computing device can determine a shadow of the occluding polygon on the receiver surface by at least: determining, for a particular vertex, a projection vertex on the receiver surface by projecting a ray from the center point through the particular vertex; determining an outline polygon based on the projection vertex; determining a projection circle around the projection vertex; determining a penumbra of the shadow based on exterior tangents outside of the outline polygon; and determining an umbra of the shadow based on interior tangents inside the outline polygon. The computing device can display at least part of the shadow. |
申请公布号 |
US9639976(B2) |
申请公布日期 |
2017.05.02 |
申请号 |
US201414530282 |
申请日期 |
2014.10.31 |
申请人 |
Google Inc. |
发明人 |
Zhu Teng-Hui;Craik Christopher |
分类号 |
G06T15/60;G09G3/06 |
主分类号 |
G06T15/60 |
代理机构 |
McDonnell Boehnen Hulbert & Berghoff LLP |
代理人 |
McDonnell Boehnen Hulbert & Berghoff LLP |
主权项 |
1. A method, comprising:
determining a light source configured to emit light using a computing device, wherein the light source comprises a center point; determining an occluding polygon using the computing device, wherein the occluding polygon is between the light source and a receiver surface, and wherein the occluding polygon comprises a plurality of occluding-polygon vertices connected by occluding-polygon edges; determining a shadow of the occluding polygon on the receiver surface using the computing device by at least:
for a particular occluding-polygon vertex in the plurality of occluding-polygon vertices, determining a projection vertex on the receiver surface based on a ray projected from the center point through the particular occluding-polygon vertex;determining an outline polygon based on the projection vertex;determining a projection circle around the projection vertex;determining a penumbra of the shadow of the occluding polygon based on one or more exterior tangents to the projection circle that are outside of the outline polygon; anddetermining an umbra of the shadow of the occluding polygon based on one or more interior tangents to the projection circle that are inside of the outline polygon; and providing at least part of the shadow of the occluding polygon for display using the computing device. |
地址 |
Mountain View CA US |