A device comprising: at least one compute circuit configured to receive data input and generate output, the circuit being configured to: receive data from at least one displacement map prior to tessellating graphics object patches with which the displacement map is associated; for at least a first patch of the graphics object patches: calculate four normals of the patch, one at each patch corner control point, using a cross product between vectors of the respective corner control point and control points of the patch that are nearest to the respective corner control point; using each normal, displace the control points of the patch that are nearest the respective corner control point, according to data from the displacement map, to create two new patches, one new patch due to a largest positive displacement on the patch in the direction of the normal and one new patch due to a largest negative displacement on the patch in the direction opposite the normal; wherein the corner control points are not displaced, and control points that are nearest to a respective corner control point are displaced; determine whether any coefficient of either new patch's parametric tangent plane indicates that the new patch is front-facing; responsive to determining that either new patch is front-facing, tessellate the first patch; and responsive to determining that neither new patch is front-facing, not tessellate the first patch. receive data from at least one displacement map prior to tessellating graphics object patches with which the displacement map is associated; for at least a first patch of the graphics object patches: calculate four normals of the patch, one at each patch corner control point, using a cross product between vectors of the respective corner control point and control points of the patch that are nearest to the respective corner control point; using each normal, displace the control points of the patch that are nearest the respective corner control point, according to data from the displacement map, to create two new patches, one new patch due to a largest positive displacement on the patch in the direction of the normal and one new patch due to a largest negative displacement on the patch in the direction opposite the normal; wherein the corner control points are not displaced, and control points that are nearest to a respective corner control point are displaced; determine whether any coefficient of either new patch's parametric tangent plane indicates that the new patch is front-facing; responsive to determining that either new patch is front-facing, tessellate the first patch; and responsive to determining that neither new patch is front-facing, not tessellate the first patch. calculate four normals of the patch, one at each patch corner control point, using a cross product between vectors of the respective corner control point and control points of the patch that are nearest to the respective corner control point; using each normal, displace the control points of the patch that are nearest the respective corner control point, according to data from the displacement map, to create two new patches, one new patch due to a largest positive displacement on the patch in the direction of the normal and one new patch due to a largest negative displacement on the patch in the direction opposite the normal; wherein the corner control points are not displaced, and control points that are nearest to a respective corner control point are displaced; determine whether any coefficient of either new patch's parametric tangent plane indicates that the new patch is front-facing; responsive to determining that either new patch is front-facing, tessellate the first patch; and responsive to determining that neither new patch is front-facing, not tessellate the first patch.