A computing device configured to render virtual try-on products on a display of the computing device, comprising: a processor; memory in electronic communication with the processor; instructions stored in the memory, the instructions being executable by the processor to: select a first render viewpoint of a virtual 3-D space, wherein the virtual 3-D space comprises a 3-D model of at least a portion of a user generated from an image of the user and a 3-D polygon mesh of an object; designate a first polygon of the 3-D polygon mesh of the object as a backwards-facing polygon, the backwards-facing polygon facing away from the first render viewpoint; designate a second polygon of the 3-D polygon mesh of the object as a front-facing polygon, the front-facing polygon facing towards the first render viewpoint; apply a shadow texture map of the object to the 3-D model of the user; apply a transparency texture map of the object to the backwards-facing polygon of the 3-D polygon mesh of the object; apply a first color texture map of the object to the result of the application of the transparency texture map to the backwards-facing polygon; and render, on the display, the virtual 3-D space at the first render viewpoint including both the 3-D model of at least a portion of a user and the 3-D polygon mesh of an object. a processor; memory in electronic communication with the processor; instructions stored in the memory, the instructions being executable by the processor to: select a first render viewpoint of a virtual 3-D space, wherein the virtual 3-D space comprises a 3-D model of at least a portion of a user generated from an image of the user and a 3-D polygon mesh of an object; designate a first polygon of the 3-D polygon mesh of the object as a backwards-facing polygon, the backwards-facing polygon facing away from the first render viewpoint; designate a second polygon of the 3-D polygon mesh of the object as a front-facing polygon, the front-facing polygon facing towards the first render viewpoint; apply a shadow texture map of the object to the 3-D model of the user; apply a transparency texture map of the object to the backwards-facing polygon of the 3-D polygon mesh of the object; apply a first color texture map of the object to the result of the application of the transparency texture map to the backwards-facing polygon; and render, on the display, the virtual 3-D space at the first render viewpoint including both the 3-D model of at least a portion of a user and the 3-D polygon mesh of an object. select a first render viewpoint of a virtual 3-D space, wherein the virtual 3-D space comprises a 3-D model of at least a portion of a user generated from an image of the user and a 3-D polygon mesh of an object; designate a first polygon of the 3-D polygon mesh of the object as a backwards-facing polygon, the backwards-facing polygon facing away from the first render viewpoint; designate a second polygon of the 3-D polygon mesh of the object as a front-facing polygon, the front-facing polygon facing towards the first render viewpoint; apply a shadow texture map of the object to the 3-D model of the user; apply a transparency texture map of the object to the backwards-facing polygon of the 3-D polygon mesh of the object; apply a first color texture map of the object to the result of the application of the transparency texture map to the backwards-facing polygon; and render, on the display, the virtual 3-D space at the first render viewpoint including both the 3-D model of at least a portion of a user and the 3-D polygon mesh of an object.