Skip to content

Instantly share code, notes, and snippets.

@2439905184
Last active March 27, 2022 07:29
Show Gist options
  • Select an option

  • Save 2439905184/14e2e138cb0d3c69eaac6597ad9fc7d9 to your computer and use it in GitHub Desktop.

Select an option

Save 2439905184/14e2e138cb0d3c69eaac6597ad9fc7d9 to your computer and use it in GitHub Desktop.
交叉淡化技术
https://www.zhangxinxu.com/study/201209/css3-background-image-cross-fade.html
suika2 ->stage.h
//启用角色淡入淡出模式时进行舞台绘制
void draw_stage_ch_fade(int fade_method)
//绘制默认背景淡入淡出 LAYER_FO和LAYER_FI是特殊的实体图像
static void draw_stage_fi_fo_fade_normal()
{
render_layer_image(LAYER_FO);
render_layer_image(LAYER_FI);
}
//如果设置了图像,则绘制其他图层
static void render_layer_image(int layer)
{ //layer_image 当前图层图像?
if (layer_image[layer] != NULL) {
render_image(layer_x[layer],
layer_y[layer],
layer_image[layer],
get_image_width(layer_image[layer]),
get_image_height(layer_image[layer]),
0,
0,
layer_alpha[layer],
layer_blend[layer]);
}
}
//glutmain.c
void render_image(int dst_left, int dst_top, struct image * RESTRICT src_image,
int width, int height, int src_left, int src_top, int alpha,
int bt)
{
opengl_render_image(dst_left, dst_top, src_image, width, height,
src_left, src_top, alpha, bt);
}
//在屏幕上渲染图像
void opengl_render_image(int dst_left, int dst_top,
struct image * RESTRICT src_image, int width,
int height, int src_left, int src_top, int alpha,
int bt)
@2439905184
Copy link
Copy Markdown
Author

可以参考suika2的指令:https://suika2.com/en/reference.html

@2439905184
Copy link
Copy Markdown
Author

根据源区域的大小进行传输矩形的剪切

  • 源区域的有效坐标范围为 (0,0)-(src_cx-1,src_cy-1),
    进行传送矩形剪切
  • 除了宽度和高度外,传输矩形还位于源区域和目标区域中。
    具有左上角的 XY 坐标,所有这些值都通过剪切进行校正
  • 如果传输矩形完全超出源区域的有效坐标范围,则返回假。
    否则,返回真。
    image.c
    clip_by_source()

@2439905184
Copy link
Copy Markdown
Author

int src_cx, /* 源区域的宽度 /
int src_cy, /
源区域的高度 /
int =cx, /
传输矩形宽度 /
int =cy, /
传输矩形高度 /
int =dst_x, /
目标区域中传输矩形的左上角 X 坐标 /
int =dst_y, /
目标区域中传输矩形的左上角 Y 坐标 /
int =src_x, /
源区域中传输矩形的左上角 X 坐标 */
int src_y) / 源区域中传输矩形的左上角 Y 坐标 */

@2439905184
Copy link
Copy Markdown
Author

交叉溶解是在淡入剪辑B的时候同时淡出剪辑A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment