示例#1
0
void DistributedObject::after_construct()
{
#ifdef P4P_CLUSTER
	if (persistence_enabled_ && !file_.string().empty())
	{
		/*
		 * Initialize from file if one was specified
		 */
		try
		{
			DistributedReadLock dist_lock(*this);
			UpgradableReadLock local_lock(*this);
			if (!update(dist_lock, local_lock))
				init_default();
		}
		catch (distributed_object_error& e)
		{
			init_default();
		}

		/* FIXME: Temporarily disabled */
		/* DistributedObjectWatcher::Instance().add_object(this); */
	}
	else
#endif
	{
		init_default();
	}
}
示例#2
0
//********************************************************************
// 1998-09-16 - Created
//********************************************************************
// init: Calls all other initiation routines
//********************************************************************
int init( int argc , char *argv[] )
{
	init_default();
	if( !init_appl() )	{	Return( FALSE );	}
	if( !init_graph() )	{	Return( FALSE );	}
	if( !init_rsc() )	{	Return( FALSE );	}

	load_config();

	#ifdef USE_MENU
	if( !open_menu( menu_tree , 1 ) )
	{
		sprintf(tempvar.errorstring, MENU_ERROR );
		alertbox( 1 , tempvar.errorstring );
		
		#ifdef LOGGING 
		Log( LOG_INIT , "Could not open menu-system!!!!\n" ); 
		#endif

		Return FALSE ;
	} 
	#endif

	if( !tempvar.registered )
	{
		open_dialog( &info_win , NULL );
	}
	else
	{
		open_dialog( &main_win , NULL );
	}
	Return TRUE ;
}
示例#3
0
/*
 * Allocates `bytes' bytes of memory, and returns a pointer to the
 * beginning of the memory.  A pointer to the allocated memory is kept in
 * the default memory association. 
 */
void *
t_mallocd(size_t bytes)
{
  if (mdefault == NULL)
    init_default();
  return t_malloc(mdefault, bytes);
}
示例#4
0
/*
 * Frees the memory unit with the given base address from the default
 * memory assoication. 
 */
void
t_freed(void *base)
{
  if (mdefault == NULL)
    init_default();
  t_free(mdefault, base);
}
示例#5
0
文件: config.c 项目: CingHu/code
bool
initialize(void)
{
    init_default();

    check_directory();

    if (!load_proxy_config())
    	return false;

    if (file_exist(Config.config_file)) {
        return load_config(Config.config_file);
    }

    return true;
}
bool CSMDepthRenderingMaterialSystem::init(Context& context, const MaterialSystemContext& material_system_context)
{
    set_layout(StandartGeometryLayout::handle);

    if (!init_default(context, material_system_context))
        return false;

    size_t cascades_number = material_system_context.options.get<size_t>("cascades");
    size_t rt_height = material_system_context.options.get<size_t>("height");
    size_t rt_width = material_system_context.options.get<size_t>("width");
    const string& percentage_string = material_system_context.options.get<string>("percentage");
    const std::vector<string>& percentage = utils::split(percentage_string, string(","));
    ASSERT(percentage.size() == cascades_number, "The CSM configuration is invalid");
    for (size_t i = 0; i < cascades_number; ++i)
        percentage_.push_back(types_cast<float>(utils::trim_copy(percentage[i])) / 100.0f);

    pool_initializer<RenderTargetPool> render_target_wr(context.render_target_pool);
    RenderTarget& render_target = render_target_wr.object();
    RenderTargetDesc desc;
    desc.target = rt_readwrite;
    desc.color_targets = 0;
    desc.use_depth = true;
    desc.use_stencil = false;
    desc.depth_datatype = format_float;
    desc.depth_format = format_d24f;
    desc.width = rt_width * cascades_number;
    desc.height = rt_height;
    desc.depth_anisotropy = 1.0f;
    desc.depth_filter = texture_filter_nearest;
    if (!render_target.init(context, desc)) return false;

    texture_size_.set(desc.width, desc.height);
    cascade_size_.set(rt_width, rt_height);

    render_target.depth_texture(shadowmap_);

    for (size_t i = 0; i < cascades_number; ++i)
    {
        UniformBuffer& uniform_buffer = create_and_get(context.uniform_pool);
        UniformBufferDesc uniform_desc;
        uniform_desc.name = "transform";
        uniform_desc.program = &(default_program(context));
        if (!uniform_buffer.init(uniform_desc))
        {
            destroy(context);
            return false;
        }
        transform_uniform_id_.push_back(uniform_buffer.id());

        RenderState& render_state = create_and_get(context.render_state_pool);
        RenderStateDesc render_state_desc;
        render_state_desc.viewport.viewport.set(i * rt_width, 0, rt_width, rt_height);
        if (!render_state.init(render_state_desc))
        {
            destroy(context);
            return false;
        }

        render_states_[i] = render_state.id();
    }

    render_target_id_ = render_target_wr.take();

    profile_command_.set_stages(render_stage_begin_priority | render_stage_end_priority);
    list_of_commands_.add_command(&clear_command_);
    list_of_commands_.add_command(&profile_command_);

    cascades_number_ = cascades_number;

    UberShader::Info info = ubershader(context).info("SKINNING");
    UberShader::Index index;
    index.set(info, 1);
    shader_program_with_skinning_ = ubershader(context).get(index);

    return true;
}
示例#7
0
 /*
  * Parameters Class
  */
 Parameters::Parameters():
     kernel(), mean(), input(), crit_params(){
     // Set default values
     init_default();
 }