def save_texture(self, texsave: rd.TextureSave): if texsave.resourceId == rd.ResourceId.Null(): return rdtest.log.print("Saving image of " + str(texsave.resourceId)) texsave.comp.blackPoint = 0.0 texsave.comp.whitePoint = 1.0 texsave.alpha = rd.AlphaMapping.BlendToCheckerboard filename = rdtest.get_tmp_path('texsave') texsave.destType = rd.FileType.HDR self.controller.SaveTexture(texsave, filename + ".hdr") texsave.destType = rd.FileType.JPG self.controller.SaveTexture(texsave, filename + ".jpg") texsave.mip = -1 texsave.slice.sliceIndex = -1 texsave.destType = rd.FileType.DDS self.controller.SaveTexture(texsave, filename + ".dds")
def check_overlay(self, eventId: int, out: rd.ReplayOutput, tex: rd.TextureDisplay, save_data: rd.TextureSave): pipe: rd.PipeState = self.controller.GetPipelineState() # Check that the highlight draw overlay is empty tex.resourceId = pipe.GetOutputTargets()[0].resourceId out.SetTextureDisplay(tex) overlay_path = rdtest.get_tmp_path(str(eventId) + '_draw.png') ref_path = self.get_ref_path(str(eventId) + '_draw.png') save_data.resourceId = out.GetDebugOverlayTexID() self.controller.SaveTexture(save_data, overlay_path) if not rdtest.image_compare(overlay_path, ref_path): raise rdtest.TestFailureException( "Reference and output image differ @ EID {}".format( str(eventId)), ref_path, overlay_path)