Quine shader!
This commit is contained in:
parent
35ebc03b6f
commit
fb2ee82f67
12 changed files with 694 additions and 69 deletions
80
Assets/test/Quine.mat
Normal file
80
Assets/test/Quine.mat
Normal file
|
@ -0,0 +1,80 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Quine
|
||||
m_Shader: {fileID: 4800000, guid: 06b6120c7bdd1fac69ccd01f15f08d36, type: 3}
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_BuildTextureStacks: []
|
8
Assets/test/Quine.mat.meta
Normal file
8
Assets/test/Quine.mat.meta
Normal file
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8ca30503feb131693a50258ba008b3d0
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -38,12 +38,11 @@ RenderSettings:
|
|||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.17883426, g: 0.22392553, b: 0.30580956, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
|
@ -98,7 +97,7 @@ LightmapSettings:
|
|||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 1
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
|
@ -118,6 +117,8 @@ NavMeshSettings:
|
|||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
|
@ -142,7 +143,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!65 &393682613
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -167,10 +168,12 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
|
@ -195,6 +198,7 @@ MeshRenderer:
|
|||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &393682615
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -211,8 +215,9 @@ Transform:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 393682612}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 3}
|
||||
m_LocalPosition: {x: -0.5, y: 0, z: 3.5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 6
|
||||
|
@ -231,6 +236,9 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: 3029ae24-4afd-4d17-965e-54a3fb4b4c55
|
||||
randomNum:
|
||||
unityVersion: 2021.3.41f1
|
||||
cckVersion: 3.10:132
|
||||
--- !u!114 &393682618
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -268,6 +276,7 @@ MonoBehaviour:
|
|||
maximumGrabDistance: 0
|
||||
snappingReferences: []
|
||||
autoHold: 0
|
||||
updateWithPhysics: 1
|
||||
ikReference: {fileID: 0}
|
||||
--- !u!1 &560901120
|
||||
GameObject:
|
||||
|
@ -290,7 +299,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!135 &560901121
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -322,6 +331,7 @@ MonoBehaviour:
|
|||
maximumGrabDistance: 0
|
||||
snappingReferences: []
|
||||
autoHold: 0
|
||||
updateWithPhysics: 1
|
||||
ikReference: {fileID: 0}
|
||||
--- !u!114 &560901123
|
||||
MonoBehaviour:
|
||||
|
@ -337,6 +347,9 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: dfe985d4-0deb-4923-bd4a-37ddf0880b43
|
||||
randomNum:
|
||||
unityVersion: 2021.3.41f1
|
||||
cckVersion: 3.10:132
|
||||
--- !u!114 &560901124
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -367,10 +380,12 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
|
@ -395,6 +410,7 @@ MeshRenderer:
|
|||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &560901126
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -413,6 +429,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 2, y: 0, z: 2}
|
||||
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
|
@ -438,7 +455,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!65 &627535769
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -466,6 +483,9 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: 267a3820-e773-4d80-aa35-8f7551bc813a
|
||||
randomNum:
|
||||
unityVersion: 2021.3.41f1
|
||||
cckVersion: 3.10:132
|
||||
--- !u!114 &627535771
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -503,6 +523,7 @@ MonoBehaviour:
|
|||
maximumGrabDistance: 0
|
||||
snappingReferences: []
|
||||
autoHold: 0
|
||||
updateWithPhysics: 1
|
||||
ikReference: {fileID: 0}
|
||||
--- !u!23 &627535773
|
||||
MeshRenderer:
|
||||
|
@ -515,10 +536,12 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
|
@ -543,6 +566,7 @@ MeshRenderer:
|
|||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &627535774
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -561,6 +585,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 1, y: 0, z: -3}
|
||||
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 8
|
||||
|
@ -586,7 +611,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!114 &766214508
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -605,6 +630,7 @@ MonoBehaviour:
|
|||
maximumGrabDistance: 0
|
||||
snappingReferences: []
|
||||
autoHold: 0
|
||||
updateWithPhysics: 1
|
||||
ikReference: {fileID: 0}
|
||||
--- !u!114 &766214509
|
||||
MonoBehaviour:
|
||||
|
@ -620,6 +646,9 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: 9b8a70de-04bb-47fe-94a8-046a5c40e621
|
||||
randomNum:
|
||||
unityVersion: 2021.3.41f1
|
||||
cckVersion: 3.10:132
|
||||
--- !u!114 &766214510
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -650,10 +679,12 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
|
@ -678,6 +709,7 @@ MeshRenderer:
|
|||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &766214512
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -696,6 +728,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 1, y: 0, z: 2}
|
||||
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
|
@ -789,6 +822,7 @@ Light:
|
|||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!4 &845829382
|
||||
|
@ -801,6 +835,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0.85522455, y: -0.12030997, z: 0.22915669, w: 0.44900298}
|
||||
m_LocalPosition: {x: 0.16, y: 3, z: 0.09}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
|
@ -826,7 +861,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!114 &889393502
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -841,6 +876,9 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: 4e7f3dcf-e925-473a-89e2-dfe6cfe7eac5
|
||||
randomNum:
|
||||
unityVersion: 2021.3.41f1
|
||||
cckVersion: 3.10:132
|
||||
--- !u!114 &889393503
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -878,6 +916,7 @@ MonoBehaviour:
|
|||
maximumGrabDistance: 0
|
||||
snappingReferences: []
|
||||
autoHold: 0
|
||||
updateWithPhysics: 1
|
||||
ikReference: {fileID: 0}
|
||||
--- !u!65 &889393505
|
||||
BoxCollider:
|
||||
|
@ -903,10 +942,12 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
|
@ -931,6 +972,7 @@ MeshRenderer:
|
|||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &889393507
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -947,8 +989,9 @@ Transform:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 889393501}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.6295098, y: 0.42811045, z: 0.014560541}
|
||||
m_LocalPosition: {x: -2.62049, y: 0.42811045, z: -5.2354393}
|
||||
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 7
|
||||
|
@ -960,77 +1003,67 @@ PrefabInstance:
|
|||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -7511558181221131132, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -7511558181221131132, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_Materials.Array.data[1]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: ffe869305f90b3d0e9e796e7cb9252a3, type: 2}
|
||||
- target: {fileID: 919132149155446097, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: 919132149155446097, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: box (1)
|
||||
value: uninit
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 919132149155446097, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
--- !u!1 &927649071 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
m_PrefabInstance: {fileID: 927649070}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &927649072
|
||||
|
@ -1066,6 +1099,9 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: 6a4694fe-7ce0-46c7-b8d6-b00d437921b8
|
||||
randomNum:
|
||||
unityVersion: 2021.3.41f1
|
||||
cckVersion: 3.10:132
|
||||
--- !u!114 &927649074
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1084,6 +1120,7 @@ MonoBehaviour:
|
|||
maximumGrabDistance: 0
|
||||
snappingReferences: []
|
||||
autoHold: 0
|
||||
updateWithPhysics: 1
|
||||
ikReference: {fileID: 0}
|
||||
--- !u!65 &927649075
|
||||
BoxCollider:
|
||||
|
@ -1177,6 +1214,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
|
@ -1188,77 +1226,67 @@ PrefabInstance:
|
|||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -8679921383154817045, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -7511558181221131132, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: -7511558181221131132, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_Materials.Array.data[1]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: 63a2fe448fc86feb9899254cb6aaf170, type: 2}
|
||||
- target: {fileID: 919132149155446097, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
- target: {fileID: 919132149155446097, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: box
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 919132149155446097, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
--- !u!1 &2026983553 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 1887c87d4830c871ba9ff30ccdd9970a,
|
||||
type: 3}
|
||||
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 1887c87d4830c871ba9ff30ccdd9970a, type: 3}
|
||||
m_PrefabInstance: {fileID: 2026983552}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &2026983554
|
||||
|
@ -1279,6 +1307,7 @@ MonoBehaviour:
|
|||
maximumGrabDistance: 0
|
||||
snappingReferences: []
|
||||
autoHold: 0
|
||||
updateWithPhysics: 1
|
||||
ikReference: {fileID: 0}
|
||||
--- !u!114 &2026983555
|
||||
MonoBehaviour:
|
||||
|
@ -1294,6 +1323,9 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: 2c06cf0a-e489-4d15-8618-1fb31712a09d
|
||||
randomNum:
|
||||
unityVersion: 2021.3.41f1
|
||||
cckVersion: 3.10:132
|
||||
--- !u!114 &2026983556
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1326,3 +1358,159 @@ BoxCollider:
|
|||
serializedVersion: 2
|
||||
m_Size: {x: 0.39999998, y: 0.4, z: 0.4}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2046637839
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2046637843}
|
||||
- component: {fileID: 2046637842}
|
||||
- component: {fileID: 2046637841}
|
||||
- component: {fileID: 2046637840}
|
||||
- component: {fileID: 2046637846}
|
||||
- component: {fileID: 2046637845}
|
||||
- component: {fileID: 2046637844}
|
||||
m_Layer: 0
|
||||
m_Name: Quine
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!65 &2046637840
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2046637839}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 1
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 0.05}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &2046637841
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2046637839}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 8ca30503feb131693a50258ba008b3d0, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &2046637842
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2046637839}
|
||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &2046637843
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2046637839}
|
||||
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 9
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
|
||||
--- !u!114 &2046637844
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2046637839}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 990f6f4efb7f4ec98ad99f6dff1bc6f6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: 9fee86b2-a9bd-46a3-a364-5f94506c4253
|
||||
randomNum: 95403234
|
||||
unityVersion: 2021.3.41f1
|
||||
cckVersion: 3.10:132
|
||||
--- !u!114 &2046637845
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2046637839}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a37fd8d654d5c2840a0ab3a5ad65a5ae, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
spawnHeight: 0
|
||||
useAdditionalValues: 0
|
||||
syncValues: []
|
||||
propPrivacy: 1
|
||||
subSyncs: []
|
||||
spawnableType: 0
|
||||
preGeneratedInstanceId:
|
||||
--- !u!114 &2046637846
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2046637839}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 12974925555b471580cacf5d2d5fa9e3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
gripType: 1
|
||||
gripOrigin: {fileID: 0}
|
||||
disallowTheft: 0
|
||||
maximumGrabDistance: 0
|
||||
snappingReferences: []
|
||||
autoHold: 0
|
||||
updateWithPhysics: 1
|
||||
ikReference: {fileID: 0}
|
||||
|
|
120
Assets/test/quine.shader
Normal file
120
Assets/test/quine.shader
Normal file
File diff suppressed because one or more lines are too long
10
Assets/test/quine.shader.meta
Normal file
10
Assets/test/quine.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 06b6120c7bdd1fac69ccd01f15f08d36
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
preprocessorOverride: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -9,10 +9,10 @@ EditorUserSettings:
|
|||
value: 5452010404540f5f0f0b5e7415250d12404e4d7f757d2732287b4a6bb2b13569
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-1:
|
||||
value: 5b545552530c5f030c08552111705b474f15497f2e2d77327e284967bab5606e
|
||||
value: 5a050c0250565f5a58585d7244700c1245154e292d7970687d7c1f6be1e1656b
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-2:
|
||||
value: 5a050c0250565f5a58585d7244700c1245154e292d7970687d7c1f6be1e1656b
|
||||
value: 5b545552530c5f030c08552111705b474f15497f2e2d77327e284967bab5606e
|
||||
flags: 0
|
||||
vcSharedLogLevel:
|
||||
value: 0d5e400f0650
|
||||
|
|
1
text_shader/.gitignore
vendored
Normal file
1
text_shader/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/target
|
124
text_shader/Cargo.lock
generated
Normal file
124
text_shader/Cargo.lock
generated
Normal file
|
@ -0,0 +1,124 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "adler"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "1.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bytemuck"
|
||||
version = "1.16.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder-lite"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "crc32fast"
|
||||
version = "1.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fdeflate"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
|
||||
dependencies = [
|
||||
"simd-adler32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "flate2"
|
||||
version = "1.0.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920"
|
||||
dependencies = [
|
||||
"crc32fast",
|
||||
"miniz_oxide",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "image"
|
||||
version = "0.25.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"byteorder-lite",
|
||||
"num-traits",
|
||||
"png",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
|
||||
dependencies = [
|
||||
"adler",
|
||||
"simd-adler32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.2.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "png"
|
||||
version = "0.17.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"crc32fast",
|
||||
"fdeflate",
|
||||
"flate2",
|
||||
"miniz_oxide",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "simd-adler32"
|
||||
version = "0.3.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
|
||||
|
||||
[[package]]
|
||||
name = "text_shader"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"image",
|
||||
]
|
9
text_shader/Cargo.toml
Normal file
9
text_shader/Cargo.toml
Normal file
|
@ -0,0 +1,9 @@
|
|||
[package]
|
||||
name = "text_shader"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
image = { version = "0.25.2", default-features = false, features = ["png"] }
|
6
text_shader/out.h
Normal file
6
text_shader/out.h
Normal file
File diff suppressed because one or more lines are too long
79
text_shader/src/main.rs
Normal file
79
text_shader/src/main.rs
Normal file
|
@ -0,0 +1,79 @@
|
|||
use std::{
|
||||
fs::{read_to_string, File},
|
||||
io::Write,
|
||||
};
|
||||
|
||||
use image::{GenericImageView, ImageReader};
|
||||
|
||||
const FULL_CHARSET: &[u8] = b" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\n\t";
|
||||
|
||||
fn main() {
|
||||
const A:u8 = FULL_CHARSET[64];
|
||||
// source code conversion
|
||||
let source_text = read_to_string("../Assets/test/quine.shader").unwrap();
|
||||
let mut encoded_text: Vec<u32> = Vec::new();
|
||||
let mut temp = 0;
|
||||
let mut i = 0;
|
||||
let mut blob_start = 0;
|
||||
for (index, char) in source_text.chars().enumerate() {
|
||||
if char == '?' {
|
||||
blob_start = index;
|
||||
}
|
||||
|
||||
temp <<= 8;
|
||||
let char_index = FULL_CHARSET
|
||||
.iter()
|
||||
.position(|&c| c == char as u8)
|
||||
.unwrap_or_else(|| {
|
||||
println!("char {char:?} not in charset");
|
||||
0
|
||||
});
|
||||
temp |= (char_index as u32) & 0xff;
|
||||
i += 1;
|
||||
if i == 4 {
|
||||
i = 0;
|
||||
encoded_text.push(temp);
|
||||
temp = 0;
|
||||
}
|
||||
}
|
||||
let mut out_string = String::new();
|
||||
out_string += "\t\t\t\tconst uint text[] = {";
|
||||
for t in &encoded_text {
|
||||
out_string += &format!("{t:#010x},");
|
||||
}
|
||||
out_string += "};\n";
|
||||
out_string += &format!("\t\t\t\tconst uint text_len = {};\n", encoded_text.len());
|
||||
out_string += &format!("\t\t\t\tconst uint blob_start = {blob_start};\n");
|
||||
|
||||
// font
|
||||
let img = ImageReader::open("vgafont.png").unwrap().decode().unwrap();
|
||||
let mut out = Vec::new();
|
||||
for &c in FULL_CHARSET {
|
||||
let col = c as u32 & 0b1_1111;
|
||||
let row = (c as u32 >> 5) & 0b111;
|
||||
let mut encoded: [u32; 4] = [0; 4];
|
||||
for section in 0..4 {
|
||||
for y in 0..4 {
|
||||
for x in 0..8 {
|
||||
let px = col * 9 + x;
|
||||
let py = row * 16 + (16 - 1 - section * 4) - y;
|
||||
let pixel = (img.get_pixel(px, py).0[0] != 0) as u32;
|
||||
let offset = x + ((y & 3) << 3);
|
||||
encoded[section as usize] |= pixel << offset;
|
||||
}
|
||||
}
|
||||
}
|
||||
out.push(encoded);
|
||||
}
|
||||
|
||||
out_string += "\n\t\t\t\tconst uint font_a[48][4] = {";
|
||||
for (i, c) in out.iter().enumerate() {
|
||||
if i == 48 {
|
||||
out_string += &format!("}};\n\t\t\t\tconst uint font_b[{}][4] = {{", out.len() - 48);
|
||||
}
|
||||
out_string += &format!("{{{},{},{},{}}},", c[0], c[1], c[2], c[3]);
|
||||
}
|
||||
out_string += "};\n";
|
||||
let mut file = File::create("out.h").unwrap();
|
||||
file.write_all(out_string.as_bytes()).unwrap();
|
||||
}
|
BIN
text_shader/vgafont.png
Normal file
BIN
text_shader/vgafont.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
Loading…
Reference in a new issue