예제 #1
0
파일: texture.c 프로젝트: JCGit/ejoy2d
void 
texture_unload(int id) {
	if (id < 0 || id >= POOL.count)
		return;
	struct texture *tex = &POOL.tex[id];
	if (tex->id == 0)
		return;
	render_release(R, TEXTURE, tex->id);
	if (tex->fb != 0)
		render_release(R, TARGET, tex->fb);
	tex->id = 0;
	tex->fb = 0;
}
예제 #2
0
파일: renderbuffer.c 프로젝트: JCGit/dawn
void 
renderbuffer_unload(struct render_buffer *rb) {
	if (rb->vbid) {
		render_release(R, VERTEXBUFFER, rb->vbid);
		rb->vbid = 0;
	}
}
예제 #3
0
static int shutdown(void)
{
	ctrl_release();
	render_release();
	physics_release();
	perf_release();

	return 0;
}
예제 #4
0
파일: texture.c 프로젝트: JCGit/ejoy2d
void
texture_delete_framebuffer(int id) {
    if (id < 0 || id >= POOL.count) {
        return;
    }
    
    struct texture *tex = &POOL.tex[id];
    if (tex->fb != 0) {
		render_release(R, TARGET, tex->fb);
        tex->fb = 0;
    }
}
예제 #5
0
파일: shader.c 프로젝트: 1414648814/ejoy2d
void 
shader_load(int prog, const char *fs, const char *vs, int texture, const char ** texture_uniform_name) {
	struct render_state *rs = RS;
	assert(prog >=0 && prog < MAX_PROGRAM);
	struct program * p = &rs->program[prog];
	if (p->prog) {
		render_release(RS->R, SHADER, p->prog);
		p->prog = 0;
	}
	program_init(p, fs, vs, texture, texture_uniform_name);
	p->texture_number = texture;
	RS->current_program = -1;
}
예제 #6
0
파일: render.c 프로젝트: suzuren/ejoy2d
RID 
render_target_create(struct render *R, int width, int height, enum TEXTURE_FORMAT format) {
	RID tex = render_texture_create(R, width, height, format, TEXTURE_2D, 0);
	if (tex == 0)
		return 0;
	render_texture_update(R, tex, width, height, NULL, 0, 0);
	RID rt = create_rt(R, tex);
	glBindFramebuffer(GL_FRAMEBUFFER, R->default_framebuffer);
	R->last.target = 0;
	R->changeflag |= CHANGE_TARGET;

	if (rt == 0) {
		render_release(R, TEXTURE, tex);
	}
	CHECK_GL_ERROR
	return rt;
}
예제 #7
0
파일: ej_dtex.c 프로젝트: xzrunner/ejoy2d
static void 
_texture_release(int id) {
	render_release(sl_shader_get_render(), TEXTURE, id);
}
예제 #8
0
파일: label.c 프로젝트: 1414648814/ejoy2d
void
label_unload() {
	render_release(R, TEXTURE, Tex);
	dfont_release(Dfont);
	Dfont = NULL;
}