Esempio n. 1
0
CJS_Runtime::~CJS_Runtime() {
  NotifyObservedPtrs();
  ReleaseEngine();
  if (m_isolateManaged) {
    GetIsolate()->Dispose();
    SetIsolate(nullptr);
  }
}
Esempio n. 2
0
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();
}
Esempio n. 3
0
void xrSASH::SetOptions()
{
	Msg("SASH:: SetOptions.");
	TryInitEngine();

	oaNamedOption *Option;

	while((Option = oaGetNextOption()) != NULL)
		SetOption(Option);

	//Console->Save();
	Console->Execute("cfg_save");

	ReleaseEngine();
}
Esempio n. 4
0
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();
}
Esempio n. 5
0
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);
}