feat: integrate room framework and isolated subgame bundles

Complete room UI and protocol integration, move game definitions and resources behind bundle entries, publish authoritative version XML, and document single-game builds. Include all current resource changes and experiment artifacts.
This commit is contained in:
2026-09-09 03:13:18 +08:00
parent a7ec8aa6a7
commit 35216f75e7
1028 changed files with 835556 additions and 21415 deletions
@@ -0,0 +1,389 @@
{
"__type__": "cc.EffectAsset",
"_name": "internal/builtin-debug-renderer",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"techniques": [
{
"passes": [
{
"blendState": {
"targets": [
{
"blend": true,
"blendSrc": 2,
"blendDst": 4,
"blendDstAlpha": 4
}
]
},
"rasterizerState": {
"cullMode": 0
},
"program": "internal/builtin-debug-renderer|debug-renderer-vs:vert|debug-renderer-fs:frag",
"priority": 255,
"depthStencilState": {
"depthTest": false,
"depthWrite": false
}
}
]
}
],
"shaders": [
{
"blocks": [],
"samplerTextures": [
{
"name": "mainTexture",
"type": 28,
"count": 1,
"defines": [],
"stageFlags": 16,
"sampleType": 0,
"binding": 0
}
],
"samplers": [],
"textures": [],
"buffers": [],
"images": [],
"subpassInputs": [],
"attributes": [
{
"name": "a_position",
"defines": [],
"format": 21,
"location": 0
},
{
"name": "a_texCoord",
"defines": [],
"format": 21,
"location": 1
},
{
"name": "a_color",
"defines": [],
"format": 44,
"location": 2
}
],
"varyings": [
{
"name": "v_texCoord",
"type": 14,
"count": 1,
"defines": [],
"stageFlags": 17,
"location": 0
},
{
"name": "v_color",
"type": 16,
"count": 1,
"defines": [],
"stageFlags": 17,
"location": 1
}
],
"fragColors": [
{
"name": "cc_FragColor",
"typename": "vec4",
"type": 16,
"count": 1,
"defines": [],
"stageFlags": 16,
"location": 0
}
],
"descriptors": [
{
"rate": 0,
"blocks": [],
"samplerTextures": [],
"samplers": [],
"textures": [],
"buffers": [],
"images": [],
"subpassInputs": []
},
{
"rate": 1,
"blocks": [],
"samplerTextures": [
{
"name": "mainTexture",
"type": 28,
"count": 1,
"defines": [],
"stageFlags": 16,
"sampleType": 0,
"binding": 0
}
],
"samplers": [],
"textures": [],
"buffers": [],
"images": [],
"subpassInputs": []
},
{
"rate": 2,
"blocks": [],
"samplerTextures": [],
"samplers": [],
"textures": [],
"buffers": [],
"images": [],
"subpassInputs": []
},
{
"rate": 3,
"blocks": [
{
"tags": {
"builtin": "global"
},
"name": "CCGlobal",
"members": [
{
"name": "cc_time",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "highp "
},
{
"name": "cc_screenSize",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_nativeSize",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_probeInfo",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_debug_view_mode",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
}
],
"defines": [],
"stageFlags": 17
},
{
"tags": {
"builtin": "global"
},
"name": "CCCamera",
"members": [
{
"name": "cc_matView",
"typename": "mat4",
"type": 25,
"count": 1,
"precision": "highp "
},
{
"name": "cc_matViewInv",
"typename": "mat4",
"type": 25,
"count": 1,
"precision": "highp "
},
{
"name": "cc_matProj",
"typename": "mat4",
"type": 25,
"count": 1,
"precision": "highp "
},
{
"name": "cc_matProjInv",
"typename": "mat4",
"type": 25,
"count": 1,
"precision": "highp "
},
{
"name": "cc_matViewProj",
"typename": "mat4",
"type": 25,
"count": 1,
"precision": "highp "
},
{
"name": "cc_matViewProjInv",
"typename": "mat4",
"type": 25,
"count": 1,
"precision": "highp "
},
{
"name": "cc_cameraPos",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "highp "
},
{
"name": "cc_surfaceTransform",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_screenScale",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_exposure",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_mainLitDir",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_mainLitColor",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_ambientSky",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_ambientGround",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_fogColor",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_fogBase",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_fogAdd",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_nearFar",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
},
{
"name": "cc_viewPort",
"typename": "vec4",
"type": 16,
"count": 1,
"precision": "mediump "
}
],
"defines": [],
"stageFlags": 17
}
],
"samplerTextures": [],
"samplers": [],
"textures": [],
"buffers": [],
"images": [],
"subpassInputs": []
}
],
"hash": 2724889405,
"glsl4": {
"vert": "\nprecision mediump float;\nlayout(set = 0, binding = 0) uniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_nativeSize;\n mediump vec4 cc_probeInfo;\n mediump vec4 cc_debug_view_mode;\n};\nlayout(set = 0, binding = 1) uniform CCCamera {\n highp mat4 cc_matView;\n highp mat4 cc_matViewInv;\n highp mat4 cc_matProj;\n highp mat4 cc_matProjInv;\n highp mat4 cc_matViewProj;\n highp mat4 cc_matViewProjInv;\n highp vec4 cc_cameraPos;\n mediump vec4 cc_surfaceTransform;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_exposure;\n mediump vec4 cc_mainLitDir;\n mediump vec4 cc_mainLitColor;\n mediump vec4 cc_ambientSky;\n mediump vec4 cc_ambientGround;\n mediump vec4 cc_fogColor;\n mediump vec4 cc_fogBase;\n mediump vec4 cc_fogAdd;\n mediump vec4 cc_nearFar;\n mediump vec4 cc_viewPort;\n};\n#define QUATER_PI 0.78539816340\n#define HALF_PI 1.57079632679\n#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI4 12.5663706144\n#define INV_QUATER_PI 1.27323954474\n#define INV_HALF_PI 0.63661977237\n#define INV_PI 0.31830988618\n#define INV_PI2 0.15915494309\n#define INV_PI4 0.07957747155\n#define EPSILON 1e-6\n#define EPSILON_LOWP 1e-4\n#define LOG2 1.442695\n#define EXP_VALUE 2.71828183\n#define FP_MAX 65504.0\n#define FP_SCALE 0.0009765625\n#define FP_SCALE_INV 1024.0\n#define GRAY_VECTOR vec3(0.299, 0.587, 0.114)\n#define LIGHT_MAP_TYPE_DISABLED 0\n#define LIGHT_MAP_TYPE_ALL_IN_ONE 1\n#define LIGHT_MAP_TYPE_INDIRECT_OCCLUSION 2\n#define REFLECTION_PROBE_TYPE_NONE 0\n#define REFLECTION_PROBE_TYPE_CUBE 1\n#define REFLECTION_PROBE_TYPE_PLANAR 2\n#define REFLECTION_PROBE_TYPE_BLEND 3\n#define REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX 4\n#define LIGHT_TYPE_DIRECTIONAL 0.0\n#define LIGHT_TYPE_SPHERE 1.0\n#define LIGHT_TYPE_SPOT 2.0\n#define LIGHT_TYPE_POINT 3.0\n#define LIGHT_TYPE_RANGED_DIRECTIONAL 4.0\n#define IS_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_DIRECTIONAL)) < EPSILON_LOWP)\n#define IS_SPHERE_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPHERE)) < EPSILON_LOWP)\n#define IS_SPOT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPOT)) < EPSILON_LOWP)\n#define IS_POINT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_POINT)) < EPSILON_LOWP)\n#define IS_RANGED_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_RANGED_DIRECTIONAL)) < EPSILON_LOWP)\n#define TONE_MAPPING_ACES 0\n#define TONE_MAPPING_LINEAR 1\n#define SURFACES_MAX_TRANSMIT_DEPTH_VALUE 999999.0\n#ifndef CC_SURFACES_DEBUG_VIEW_SINGLE\n #define CC_SURFACES_DEBUG_VIEW_SINGLE 1\n#endif\n#ifndef CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC\n #define CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC 2\n#endif\nlayout(location = 0) in vec2 a_position;\nlayout(location = 1) in vec2 a_texCoord;\nlayout(location = 2) in vec4 a_color;\nlayout(location = 0) out vec2 v_texCoord;\nlayout(location = 1) out vec4 v_color;\nvec4 vert () {\n int orientation = int(cc_surfaceTransform.x);\n vec4 transform = vec4(1.0, 0.0, 0.0, 1.0);\n if (orientation == 0) {\n transform = vec4(1.0, 0.0, 0.0, 1.0);\n } else if (orientation == 1) {\n transform = vec4(0.0, 1.0, -1.0, 0.0);\n } else if (orientation == 2) {\n transform = vec4(-1.0, 0.0, 0.0, -1.0);\n } else if (orientation == 3) {\n transform = vec4(0.0, -1.0, 1.0, 0.0);\n }\n vec2 invScreenSize = (orientation == 1 || orientation == 3) ? cc_screenSize.wz : cc_screenSize.zw;\n vec2 position = a_position * invScreenSize;\n position = position * vec2(2.0, -2.0) + vec2(-1.0, 1.0);\n vec2 clipPos = vec2(dot(transform.xy, position), dot(transform.zw, position));\n clipPos = cc_cameraPos.w == 0.0 ? vec2(clipPos.x, -clipPos.y) : clipPos;\n v_texCoord = a_texCoord;\n v_color = a_color;\n return vec4(clipPos, 0.0, 1.0);\n}\nvoid main() { gl_Position = vert(); }",
"frag": "\nprecision mediump float;\nlayout(set = 0, binding = 0) uniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_nativeSize;\n mediump vec4 cc_probeInfo;\n mediump vec4 cc_debug_view_mode;\n};\nlayout(set = 0, binding = 1) uniform CCCamera {\n highp mat4 cc_matView;\n highp mat4 cc_matViewInv;\n highp mat4 cc_matProj;\n highp mat4 cc_matProjInv;\n highp mat4 cc_matViewProj;\n highp mat4 cc_matViewProjInv;\n highp vec4 cc_cameraPos;\n mediump vec4 cc_surfaceTransform;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_exposure;\n mediump vec4 cc_mainLitDir;\n mediump vec4 cc_mainLitColor;\n mediump vec4 cc_ambientSky;\n mediump vec4 cc_ambientGround;\n mediump vec4 cc_fogColor;\n mediump vec4 cc_fogBase;\n mediump vec4 cc_fogAdd;\n mediump vec4 cc_nearFar;\n mediump vec4 cc_viewPort;\n};\nvec4 CCFragOutput (vec4 color) {\n return color;\n}\nlayout(location = 0) in vec2 v_texCoord;\nlayout(location = 1) in vec4 v_color;\nlayout(set = 1, binding = 0) uniform sampler2D mainTexture;\nvec4 frag () {\n vec4 color = vec4(v_color.rgb, v_color.a * texture(mainTexture, v_texCoord).r);\n return CCFragOutput(color);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"
},
"glsl3": {
"vert": "\nprecision mediump float;\nlayout(std140) uniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_nativeSize;\n mediump vec4 cc_probeInfo;\n mediump vec4 cc_debug_view_mode;\n};\nlayout(std140) uniform CCCamera {\n highp mat4 cc_matView;\n highp mat4 cc_matViewInv;\n highp mat4 cc_matProj;\n highp mat4 cc_matProjInv;\n highp mat4 cc_matViewProj;\n highp mat4 cc_matViewProjInv;\n highp vec4 cc_cameraPos;\n mediump vec4 cc_surfaceTransform;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_exposure;\n mediump vec4 cc_mainLitDir;\n mediump vec4 cc_mainLitColor;\n mediump vec4 cc_ambientSky;\n mediump vec4 cc_ambientGround;\n mediump vec4 cc_fogColor;\n mediump vec4 cc_fogBase;\n mediump vec4 cc_fogAdd;\n mediump vec4 cc_nearFar;\n mediump vec4 cc_viewPort;\n};\n#define QUATER_PI 0.78539816340\n#define HALF_PI 1.57079632679\n#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI4 12.5663706144\n#define INV_QUATER_PI 1.27323954474\n#define INV_HALF_PI 0.63661977237\n#define INV_PI 0.31830988618\n#define INV_PI2 0.15915494309\n#define INV_PI4 0.07957747155\n#define EPSILON 1e-6\n#define EPSILON_LOWP 1e-4\n#define LOG2 1.442695\n#define EXP_VALUE 2.71828183\n#define FP_MAX 65504.0\n#define FP_SCALE 0.0009765625\n#define FP_SCALE_INV 1024.0\n#define GRAY_VECTOR vec3(0.299, 0.587, 0.114)\n#define LIGHT_MAP_TYPE_DISABLED 0\n#define LIGHT_MAP_TYPE_ALL_IN_ONE 1\n#define LIGHT_MAP_TYPE_INDIRECT_OCCLUSION 2\n#define REFLECTION_PROBE_TYPE_NONE 0\n#define REFLECTION_PROBE_TYPE_CUBE 1\n#define REFLECTION_PROBE_TYPE_PLANAR 2\n#define REFLECTION_PROBE_TYPE_BLEND 3\n#define REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX 4\n#define LIGHT_TYPE_DIRECTIONAL 0.0\n#define LIGHT_TYPE_SPHERE 1.0\n#define LIGHT_TYPE_SPOT 2.0\n#define LIGHT_TYPE_POINT 3.0\n#define LIGHT_TYPE_RANGED_DIRECTIONAL 4.0\n#define IS_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_DIRECTIONAL)) < EPSILON_LOWP)\n#define IS_SPHERE_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPHERE)) < EPSILON_LOWP)\n#define IS_SPOT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPOT)) < EPSILON_LOWP)\n#define IS_POINT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_POINT)) < EPSILON_LOWP)\n#define IS_RANGED_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_RANGED_DIRECTIONAL)) < EPSILON_LOWP)\n#define TONE_MAPPING_ACES 0\n#define TONE_MAPPING_LINEAR 1\n#define SURFACES_MAX_TRANSMIT_DEPTH_VALUE 999999.0\n#ifndef CC_SURFACES_DEBUG_VIEW_SINGLE\n #define CC_SURFACES_DEBUG_VIEW_SINGLE 1\n#endif\n#ifndef CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC\n #define CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC 2\n#endif\nin vec2 a_position;\nin vec2 a_texCoord;\nin vec4 a_color;\nout vec2 v_texCoord;\nout vec4 v_color;\nvec4 vert () {\n int orientation = int(cc_surfaceTransform.x);\n vec4 transform = vec4(1.0, 0.0, 0.0, 1.0);\n if (orientation == 0) {\n transform = vec4(1.0, 0.0, 0.0, 1.0);\n } else if (orientation == 1) {\n transform = vec4(0.0, 1.0, -1.0, 0.0);\n } else if (orientation == 2) {\n transform = vec4(-1.0, 0.0, 0.0, -1.0);\n } else if (orientation == 3) {\n transform = vec4(0.0, -1.0, 1.0, 0.0);\n }\n vec2 invScreenSize = (orientation == 1 || orientation == 3) ? cc_screenSize.wz : cc_screenSize.zw;\n vec2 position = a_position * invScreenSize;\n position = position * vec2(2.0, -2.0) + vec2(-1.0, 1.0);\n vec2 clipPos = vec2(dot(transform.xy, position), dot(transform.zw, position));\n clipPos = cc_cameraPos.w == 0.0 ? vec2(clipPos.x, -clipPos.y) : clipPos;\n v_texCoord = a_texCoord;\n v_color = a_color;\n return vec4(clipPos, 0.0, 1.0);\n}\nvoid main() { gl_Position = vert(); }",
"frag": "\nprecision mediump float;\nlayout(std140) uniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_nativeSize;\n mediump vec4 cc_probeInfo;\n mediump vec4 cc_debug_view_mode;\n};\nlayout(std140) uniform CCCamera {\n highp mat4 cc_matView;\n highp mat4 cc_matViewInv;\n highp mat4 cc_matProj;\n highp mat4 cc_matProjInv;\n highp mat4 cc_matViewProj;\n highp mat4 cc_matViewProjInv;\n highp vec4 cc_cameraPos;\n mediump vec4 cc_surfaceTransform;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_exposure;\n mediump vec4 cc_mainLitDir;\n mediump vec4 cc_mainLitColor;\n mediump vec4 cc_ambientSky;\n mediump vec4 cc_ambientGround;\n mediump vec4 cc_fogColor;\n mediump vec4 cc_fogBase;\n mediump vec4 cc_fogAdd;\n mediump vec4 cc_nearFar;\n mediump vec4 cc_viewPort;\n};\nvec4 CCFragOutput (vec4 color) {\n return color;\n}\nin vec2 v_texCoord;\nin vec4 v_color;\nuniform sampler2D mainTexture;\nvec4 frag () {\n vec4 color = vec4(v_color.rgb, v_color.a * texture(mainTexture, v_texCoord).r);\n return CCFragOutput(color);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"
},
"glsl1": {
"vert": "\nprecision mediump float;\nuniform mediump vec4 cc_screenSize;\nuniform highp vec4 cc_cameraPos;\n uniform mediump vec4 cc_surfaceTransform;\n#define QUATER_PI 0.78539816340\n#define HALF_PI 1.57079632679\n#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI4 12.5663706144\n#define INV_QUATER_PI 1.27323954474\n#define INV_HALF_PI 0.63661977237\n#define INV_PI 0.31830988618\n#define INV_PI2 0.15915494309\n#define INV_PI4 0.07957747155\n#define EPSILON 1e-6\n#define EPSILON_LOWP 1e-4\n#define LOG2 1.442695\n#define EXP_VALUE 2.71828183\n#define FP_MAX 65504.0\n#define FP_SCALE 0.0009765625\n#define FP_SCALE_INV 1024.0\n#define GRAY_VECTOR vec3(0.299, 0.587, 0.114)\n#define LIGHT_MAP_TYPE_DISABLED 0\n#define LIGHT_MAP_TYPE_ALL_IN_ONE 1\n#define LIGHT_MAP_TYPE_INDIRECT_OCCLUSION 2\n#define REFLECTION_PROBE_TYPE_NONE 0\n#define REFLECTION_PROBE_TYPE_CUBE 1\n#define REFLECTION_PROBE_TYPE_PLANAR 2\n#define REFLECTION_PROBE_TYPE_BLEND 3\n#define REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX 4\n#define LIGHT_TYPE_DIRECTIONAL 0.0\n#define LIGHT_TYPE_SPHERE 1.0\n#define LIGHT_TYPE_SPOT 2.0\n#define LIGHT_TYPE_POINT 3.0\n#define LIGHT_TYPE_RANGED_DIRECTIONAL 4.0\n#define IS_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_DIRECTIONAL)) < EPSILON_LOWP)\n#define IS_SPHERE_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPHERE)) < EPSILON_LOWP)\n#define IS_SPOT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPOT)) < EPSILON_LOWP)\n#define IS_POINT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_POINT)) < EPSILON_LOWP)\n#define IS_RANGED_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_RANGED_DIRECTIONAL)) < EPSILON_LOWP)\n#define TONE_MAPPING_ACES 0\n#define TONE_MAPPING_LINEAR 1\n#define SURFACES_MAX_TRANSMIT_DEPTH_VALUE 999999.0\n#ifndef CC_SURFACES_DEBUG_VIEW_SINGLE\n #define CC_SURFACES_DEBUG_VIEW_SINGLE 1\n#endif\n#ifndef CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC\n #define CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC 2\n#endif\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\nattribute vec4 a_color;\nvarying vec2 v_texCoord;\nvarying vec4 v_color;\nvec4 vert () {\n int orientation = int(cc_surfaceTransform.x);\n vec4 transform = vec4(1.0, 0.0, 0.0, 1.0);\n if (orientation == 0) {\n transform = vec4(1.0, 0.0, 0.0, 1.0);\n } else if (orientation == 1) {\n transform = vec4(0.0, 1.0, -1.0, 0.0);\n } else if (orientation == 2) {\n transform = vec4(-1.0, 0.0, 0.0, -1.0);\n } else if (orientation == 3) {\n transform = vec4(0.0, -1.0, 1.0, 0.0);\n }\n vec2 invScreenSize = (orientation == 1 || orientation == 3) ? cc_screenSize.wz : cc_screenSize.zw;\n vec2 position = a_position * invScreenSize;\n position = position * vec2(2.0, -2.0) + vec2(-1.0, 1.0);\n vec2 clipPos = vec2(dot(transform.xy, position), dot(transform.zw, position));\n clipPos = cc_cameraPos.w == 0.0 ? vec2(clipPos.x, -clipPos.y) : clipPos;\n v_texCoord = a_texCoord;\n v_color = a_color;\n return vec4(clipPos, 0.0, 1.0);\n}\nvoid main() { gl_Position = vert(); }",
"frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n return color;\n}\nvarying vec2 v_texCoord;\nvarying vec4 v_color;\nuniform sampler2D mainTexture;\nvec4 frag () {\n vec4 color = vec4(v_color.rgb, v_color.a * texture2D(mainTexture, v_texCoord).r);\n return CCFragOutput(color);\n}\nvoid main() { gl_FragColor = frag(); }"
},
"builtins": {
"globals": {
"blocks": [
{
"name": "CCGlobal",
"defines": []
},
{
"name": "CCCamera",
"defines": []
}
],
"samplerTextures": [],
"buffers": [],
"images": []
},
"locals": {
"blocks": [],
"samplerTextures": [],
"buffers": [],
"images": []
},
"statistics": {
"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS": 42,
"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS": 42
}
},
"defines": [],
"name": "internal/builtin-debug-renderer|debug-renderer-vs:vert|debug-renderer-fs:frag"
}
],
"combinations": [],
"hideInEditor": false
}
@@ -0,0 +1,62 @@
{
"__type__": "cc.Material",
"_name": "builtin-kawase-bloom",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"_effectAsset": {
"__uuid__": "10f0d9bc-5c9e-4216-9a94-f3a2ff53bb5f",
"__expectedType__": "cc.EffectAsset"
},
"_techIdx": 0,
"_defines": [
{},
{},
{},
{}
],
"_states": [
{
"rasterizerState": {},
"depthStencilState": {},
"blendState": {
"targets": [
{}
]
}
},
{
"rasterizerState": {},
"depthStencilState": {},
"blendState": {
"targets": [
{}
]
}
},
{
"rasterizerState": {},
"depthStencilState": {},
"blendState": {
"targets": [
{}
]
}
},
{
"rasterizerState": {},
"depthStencilState": {},
"blendState": {
"targets": [
{}
]
}
}
],
"_props": [
{},
{},
{},
{}
]
}
@@ -0,0 +1,8 @@
{
"__type__": "cc.ImageAsset",
"content": {
"fmt": "0",
"w": 0,
"h": 0
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -0,0 +1,9 @@
{
"__type__": "cc.Texture2D",
"content": {
"base": "2,2,2,2,0,0",
"mipmaps": [
"ffb88a8f-af62-48f4-8f1d-3cb606443a43"
]
}
}
@@ -0,0 +1,90 @@
{
"__type__": "cc.SpriteFrame",
"content": {
"name": "default_scrollbar_vertical_bg",
"atlas": "",
"rect": {
"x": 0,
"y": 0,
"width": 15,
"height": 30
},
"offset": {
"x": 0,
"y": 0
},
"originalSize": {
"width": 15,
"height": 30
},
"rotated": false,
"capInsets": [
4,
10,
4,
10
],
"vertices": {
"rawPosition": [
-7.5,
-15,
0,
7.5,
-15,
0,
-7.5,
15,
0,
7.5,
15,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
30,
15,
30,
0,
0,
15,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": {
"x": -7.5,
"y": -15,
"z": 0
},
"maxPos": {
"x": 7.5,
"y": 15,
"z": 0
}
},
"texture": "ffb88a8f-af62-48f4-8f1d-3cb606443a43@6c48a",
"packable": true,
"pixelsToUnit": 100,
"pivot": {
"x": 0.5,
"y": 0.5
},
"meshType": 0
}
}