예제 #1
0
void ImageTexture::load(const String& p_path) {

    Image img;
    img.load(p_path);
    create_from_image(img);

}
예제 #2
0
void ImageTexture::load(const String &p_path) {

	Ref<Image> img;
	img.instance();
	img->load(p_path);
	create_from_image(img);
}
예제 #3
0
bool ImageTexture::_set(const StringName& p_name, const Variant& p_value) {

	if (p_name=="image" && p_value.get_type()==Variant::IMAGE)
		create_from_image( p_value,flags );
	else if (p_name=="flags")
		if (w*h==0)
			flags=p_value;
		else
			set_flags(p_value);
	else if (p_name=="size") {
		Size2 s = p_value;
		w=s.width;
		h=s.height;
		VisualServer::get_singleton()->texture_set_size_override(texture,w,h);
	} else if (p_name=="storage") {
		storage=Storage(p_value.operator int());
	} else if (p_name=="lossy_quality") {
		lossy_storage_quality=p_value;
	} else if (p_name=="_data") {
		_set_data(p_value);
	} else
		return false;

	return true;

}
예제 #4
0
파일: texture.cpp 프로젝트: Alex-doc/godot
void ImageTexture::shrink_x2_and_keep_size() {

	Size2 sizeov = get_size();
	Image img = get_data();
	img.resize(img.get_width() / 2, img.get_height() / 2, Image::INTERPOLATE_BILINEAR);
	create_from_image(img, flags);
	set_size_override(sizeov);
}
예제 #5
0
void ImageTexture::_set_data(Dictionary p_data) {

	Image img = p_data["image"];
	uint32_t flags = p_data["flags"];

	create_from_image(img, flags);

	set_storage(Storage(p_data["storage"].operator int()));
	set_lossy_storage_quality(p_data["lossy_quality"]);

	set_size_override(p_data["size"]);
};
예제 #6
0
void ImageTexture::_set_data(Dictionary p_data) {

	Ref<Image> img = p_data["image"];
	ERR_FAIL_COND(!img.is_valid());
	uint32_t flags = p_data["flags"];

	create_from_image(img, flags);

	set_storage(Storage(p_data["storage"].operator int()));
	set_lossy_storage_quality(p_data["lossy_quality"]);

	set_size_override(p_data["size"]);
};
예제 #7
0
파일: texture.cpp 프로젝트: Alex-doc/godot
void ImageTexture::reload_from_file() {

	String path = get_path();
	if (!path.is_resource_file())
		return;

	uint32_t flags = get_flags();
	Image img;

	Error err = ImageLoader::load_image(path, &img);
	ERR_FAIL_COND(err != OK);

	create_from_image(img, flags);
}
예제 #8
0
void ImageTexture::reload_from_file() {

	String path = ResourceLoader::path_remap(get_path());
	if (!path.is_resource_file())
		return;

	uint32_t flags = get_flags();
	Ref<Image> img;
	img.instance();

	Error err = ImageLoader::load_image(path, img);
	ERR_FAIL_COND(err != OK);

	create_from_image(img, flags);
}
예제 #9
0
bool ImageTexture::_set(const StringName &p_name, const Variant &p_value) {

	if (p_name == "image")
		create_from_image(p_value, flags);
	else if (p_name == "flags")
		if (w * h == 0)
			flags = p_value;
		else
			set_flags(p_value);
	else if (p_name == "size") {
		Size2 s = p_value;
		w = s.width;
		h = s.height;
		VisualServer::get_singleton()->texture_set_size_override(texture, w, h);
	} else if (p_name == "_data") {
		_set_data(p_value);
	} else
		return false;

	return true;
}
예제 #10
0
void ImageTexture::normal_to_xy() {

	Image img = get_data();
	img.normalmap_to_xy();
	create_from_image(img,flags);
}