CJS_Runtime::~CJS_Runtime() { NotifyObservedPtrs(); ReleaseEngine(); if (m_isolateManaged) { GetIsolate()->Dispose(); SetIsolate(nullptr); } }
void xrSASH::GetCurrentOptions() { Msg("SASH:: GetCurrentOptions."); TryInitEngine(); GetOption("renderer"); GetOption("vid_mode"); GetOption("rs_fullscreen"); GetOption("rs_vis_distance"); GetOption("r__geometry_lod"); GetOption("r__detail_density"); GetOption("texture_lod"); GetOption("r__tf_aniso"); GetOption("ai_use_torch_dynamic_lights"); // r1 only GetOption("r__supersample"); GetOption("r1_no_detail_textures"); // >=r2 GetOption("r2_sun"); GetOption("r2_sun_quality"); GetOption("r2_slight_fade"); GetOption("r2_ls_squality"); GetOption("r2_detail_bump"); // >=r2.5 GetOption("r2_sun_shafts"); GetOption("r2_ssao"); GetOption("r2_ssao_opt_data"); GetOption("r2_ssao_half_data"); GetOption("r2_ssao_hbao"); GetOption("r2_soft_water"); GetOption("r2_soft_particles"); GetOption("r2_dof_enable"); GetOption("r2_volumetric_lights"); GetOption("r2_steep_parallax"); // >=r3 GetOption("r3_dynamic_wet_surfaces"); GetOption("r3_volumetric_smoke"); GetOption("r3_use_dx10_1"); GetOption("r3_minmax_sm"); GetOption("r3_msaa"); GetOption("r3_msaa_opt"); GetOption("r3_msaa_alphatest"); GetOption("r3_gbuff_opt"); ReleaseEngine(); }
void xrSASH::SetOptions() { Msg("SASH:: SetOptions."); TryInitEngine(); oaNamedOption *Option; while((Option = oaGetNextOption()) != NULL) SetOption(Option); //Console->Save(); Console->Execute("cfg_save"); ReleaseEngine(); }
void xrSASH::GetAllOptions() { Msg("SASH:: GetAllOptions."); TryInitEngine(); oaNamedOptionStruct Option; oaInitOption(&Option); DescribeOption("renderer", Option.Dependency); DescribeOption("vid_mode", Option.Dependency); DescribeOption("rs_fullscreen", Option.Dependency); DescribeOption("rs_vis_distance", Option.Dependency); DescribeOption("r__geometry_lod", Option.Dependency); DescribeOption("r__detail_density", Option.Dependency); DescribeOption("texture_lod", Option.Dependency); DescribeOption("r__tf_aniso", Option.Dependency); DescribeOption("ai_use_torch_dynamic_lights", Option.Dependency); // r1 only Option.Dependency.ParentName = TEXT("renderer"); Option.Dependency.ComparisonOp = OA_COMP_OP_EQUAL; Option.Dependency.ComparisonVal.Enum = TEXT("renderer_r1"); Option.Dependency.ComparisonValType = GetOptionType("renderer"); { DescribeOption("r__supersample", Option.Dependency); DescribeOption("r1_no_detail_textures", Option.Dependency); } // >=r2 oaInitOption(&Option); // Reset dependency info // Currently only equal/not equal works //Option.Dependency.ParentName = TEXT("renderer"); //Option.Dependency.ComparisonOp = OA_COMP_OP_GREATER_OR_EQUAL; //Option.Dependency.ComparisonVal.Enum = TEXT("renderer_r2"); //Option.Dependency.ComparisonValType = GetOptionType("renderer"); { DescribeOption("r2_sun", Option.Dependency); DescribeOption("r2_sun_quality", Option.Dependency); DescribeOption("r2_slight_fade", Option.Dependency); DescribeOption("r2_ls_squality", Option.Dependency); DescribeOption("r2_detail_bump", Option.Dependency); } // >=r2.5 //Option.Dependency.ParentName = TEXT("renderer"); //Option.Dependency.ComparisonOp = OA_COMP_OP_GREATER_OR_EQUAL; //Option.Dependency.ComparisonVal.Enum = TEXT("renderer_r2.5"); //Option.Dependency.ComparisonValType = GetOptionType("renderer"); { DescribeOption("r2_sun_shafts", Option.Dependency); DescribeOption("r2_ssao", Option.Dependency); DescribeOption("r2_ssao_opt_data", Option.Dependency); DescribeOption("r2_ssao_half_data", Option.Dependency); DescribeOption("r2_ssao_hbao", Option.Dependency); DescribeOption("r2_soft_water", Option.Dependency); DescribeOption("r2_soft_particles", Option.Dependency); DescribeOption("r2_dof_enable", Option.Dependency); DescribeOption("r2_volumetric_lights", Option.Dependency); DescribeOption("r2_steep_parallax", Option.Dependency); } // >=r3 //Option.Dependency.ParentName = TEXT("renderer"); //Option.Dependency.ComparisonOp = OA_COMP_OP_GREATER_OR_EQUAL; //Option.Dependency.ComparisonVal.Enum = TEXT("renderer_r3"); //Option.Dependency.ComparisonValType = GetOptionType("renderer"); { DescribeOption("r3_dynamic_wet_surfaces",Option.Dependency); DescribeOption("r3_volumetric_smoke", Option.Dependency); DescribeOption("r3_gbuff_opt", Option.Dependency); DescribeOption("r3_use_dx10_1", Option.Dependency); DescribeOption("r3_minmax_sm", Option.Dependency); DescribeOption("r3_msaa", Option.Dependency); // >= 2x //Option.Dependency.ParentName = TEXT("r3_msaa"); //Option.Dependency.ComparisonOp = OA_COMP_OP_GREATER_OR_EQUAL; //Option.Dependency.ComparisonVal.Enum = TEXT("2x"); //Option.Dependency.ComparisonValType = GetOptionType("r3_msaa"); { DescribeOption("r3_msaa_opt", Option.Dependency); DescribeOption("r3_msaa_alphatest", Option.Dependency); } } ReleaseEngine(); }
int _tmain(int argc, _TCHAR* argv[]) { if (InitEngine() < 0) { cout << "init failed" << endl; return -1; } string image_path = "..\\image\\download_image\\test"; vector<string> image_list; get_image_list(image_path, image_list); int lv_cnt[5] = {0}, fail_cnt = 0; int lv_correct_cnt[5] = {0}; double totalTime = 0; for (vector<string>::iterator it = image_list.begin(); it != image_list.end(); ++it) { string img_file = image_path + "\\" + *it; Mat img = imread(img_file, 4); if (img.data == NULL) { DeleteFile(img_file.c_str()); continue; } double t = (double)getTickCount(); char code[4] = {0}; float conf[4] = {0}; int ret = RecognizeCode((char*)(img_file.c_str()), code, conf); t = (double)getTickCount() - t; totalTime += t; if (ret >= 0) { cout << "[" << ret << "]" << "\t" << *it << endl; cout << "\t" << code[0] << code[1] << code[2] << code[3]; cout << "\t" << "[" << conf[0] << " " << conf[1] << " " << conf[2] << " " << conf[3] << "]" << endl; char str[5]; str[0] = code[0];str[1] = code[1];str[2] = code[2];str[3] = code[3];str[4]='\0'; if (it->substr(6, 4) == string(str)) lv_correct_cnt[ret]++; else { //imshow("code", img); //waitKey(0); //destroyAllWindows(); } lv_cnt[ret]++; } else { cout << *it << " "; cout << "[" << ret << "]" << "\t" << "pass." << endl; //MoveFile(img_file.c_str(), (image_path + "\\@\\" + *it).c_str()); fail_cnt++; } imshow("code", img); waitKey(0); destroyAllWindows(); } cout << "FAIL: " << fail_cnt << endl; int total_cnt = 0, correct_cnt = 0; for (int i = 0; i < 5; i++) { total_cnt += lv_cnt[i]; correct_cnt += lv_correct_cnt[i]; cout << "Lv[" << i << "]: " << lv_correct_cnt[i] << "/" << lv_cnt[i] << " = " << lv_correct_cnt[i]/(float)lv_cnt[i] << endl; } total_cnt += fail_cnt; cout << "TOTAL: " << correct_cnt << "/" << total_cnt << " = " << correct_cnt/(float)total_cnt << endl; cout << "Time : " << totalTime/(double)getTickFrequency()*1000. << "/" << total_cnt << " " << totalTime/(double)getTickFrequency()*1000./total_cnt << endl; if (ReleaseEngine() < 0) cout << "release failed" << endl; return 0; }
void CloseEngine(HANDLE handle) { ReleaseEngine(handle); }