so much raymarcing garbage
This commit is contained in:
parent
4695be0423
commit
fdfa51a531
38 changed files with 2939 additions and 205 deletions
|
@ -14,7 +14,7 @@
|
|||
SubShader
|
||||
{
|
||||
Tags { "RenderType"="Opaque" }
|
||||
Cull Off
|
||||
Cull Front
|
||||
LOD 100
|
||||
|
||||
Pass
|
||||
|
@ -26,7 +26,7 @@
|
|||
#define USE_DYNAMIC_QUALITY
|
||||
// #define USE_WORLD_SPACE
|
||||
#define USE_REFLECTIONS
|
||||
#define MAX_REFLECTIONS 5
|
||||
#define MAX_REFLECTIONS 3
|
||||
#define DISCARD_ON_MISS
|
||||
//#define CONSTRAIN_TO_MESH
|
||||
#include "RayMarchLib.cginc"
|
||||
|
@ -50,7 +50,7 @@
|
|||
o = sdfAdd(p, o, sdfTorus(rotX(p, _Time* 40), 5, 0.5, m), 0.5);
|
||||
o = sdfAdd(p, o, sdfTorus(rotZ(p, _Time* 40), 5, 0.5, m), 0.5);
|
||||
|
||||
o = sdfAdd(p, o, sdfSphere(abs(rotY(p, -20 * _Time)) - float3(1.5,2,1.5), 1, mMetal), 0.2);
|
||||
o = sdfAdd(p, o, sdfSphere(abs(rotY(p, -20 * _Time)) - float3(1.5, sin(_Time.y*5) +1,1.5), 0.7, mMetal), 0.2);
|
||||
return o;
|
||||
}
|
||||
|
||||
|
@ -66,11 +66,11 @@
|
|||
fixed4 col = 0;
|
||||
|
||||
col = ray.mat.col * lightSun(ray.vNorm, vSunDir);
|
||||
col *= lightShadow(ray.vHit, vSunDir, 50);
|
||||
col *= lightShadow(ray.vHit + ray.vNorm * _SurfDist, vSunDir, 50);
|
||||
col += ray.mat.col * lightSky(ray.vNorm, 1);
|
||||
col *= lightAO(ray.vHit, ray.vNorm);
|
||||
// col *= lightAO(ray.vHit, ray.vNorm);
|
||||
|
||||
col = pow(col, 0.5);
|
||||
// col = pow(col, 0.5);
|
||||
return col;
|
||||
}
|
||||
ENDCG
|
||||
|
|
|
@ -7,7 +7,7 @@ Material:
|
|||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: spinny
|
||||
m_Name: FleshCube
|
||||
m_Shader: {fileID: 4800000, guid: 26b714026d4c6e2dc8fefdbcf28344fd, type: 3}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
|
@ -63,8 +63,8 @@ Material:
|
|||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _MaxDist: 256
|
||||
- _MaxSteps: 219.31
|
||||
- _MaxDist: 40
|
||||
- _MaxSteps: 128
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
|
@ -72,7 +72,7 @@ Material:
|
|||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SurfDist: 0.001
|
||||
- _SurfDist: 0.01
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
|
@ -1,4 +1,4 @@
|
|||
Shader "Demo/pulsating"
|
||||
Shader "RayMarching/FleshCube"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
|
@ -26,7 +26,7 @@
|
|||
// #define USE_WORLD_SPACE
|
||||
#define DYNAMIC_QUALITY
|
||||
#define USE_REFLECTIONS
|
||||
// #define CONSTRAIN_TO_MESH
|
||||
#define CONSTRAIN_TO_MESH
|
||||
#define MAX_REFLECTIONS 1
|
||||
#include "RayMarchLib.cginc"
|
||||
|
||||
|
@ -58,7 +58,12 @@
|
|||
o = sdfAdd(p, o, sdfSphere(p, 6 + bias*3, mRed), 5);
|
||||
|
||||
// o = sdfInter(p, o, sdfSphere(p, 50, mat(0.04, 0.005, 0.035)), 1.1);
|
||||
o = sdfInter(p, o, sdfBox(p, 20, mRed));
|
||||
sdfData gyroid = o;
|
||||
o = sdfAdd(p,
|
||||
sdfInter(p, gyroid, sdfBox(p, 30, mRed)),
|
||||
sdfSub(p, gyroid, sdfBox(p, 30, mRed))
|
||||
);
|
||||
// o = p, o, sdfBox(p, 20, mRed));
|
||||
//sdfData bobby = sdfSphere(p, 51, col(0.5, 0.25, 0.001));
|
||||
//bobby = sdfAdd(p, bobby, sdfSphere(p, 50.5, col(.5,.01,.01)));
|
||||
//bobby = sdfSub(p, bobby, sdfSphere(p, 50));
|
||||
|
@ -71,19 +76,22 @@
|
|||
{
|
||||
float3 vSunDir = normalize(_SunPos);
|
||||
|
||||
float4 fogCol = col(0.2, .05, 0.001);
|
||||
|
||||
if (ray.bMissed)
|
||||
{
|
||||
return 0.1;
|
||||
// discard;
|
||||
return fogCol;
|
||||
}
|
||||
|
||||
fixed4 col = 0;
|
||||
|
||||
col = ray.mat.col * lightSun(ray.vNorm, vSunDir, col(5, 2, 0.1));
|
||||
col += ray.mat.col * lightSun(ray.vNorm, vSunDir, col(5, 2, 0.1));
|
||||
col += ray.mat.col * lightSky(ray.vNorm, 1);
|
||||
col *= lightAO(ray.vHit, ray.vNorm, 0.05);
|
||||
|
||||
col = pow(col, 0.7);
|
||||
//col = lightFog(col, col(0.3, .17, 0.001), ray.dist, 0, 48);
|
||||
col = lightFog(col, fogCol, ray.dist, 0.5, 16);
|
||||
return col;
|
||||
}
|
||||
ENDCG
|
81
Assets/test/Spinny.mat
Normal file
81
Assets/test/Spinny.mat
Normal file
|
@ -0,0 +1,81 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Spinny
|
||||
m_Shader: {fileID: 4800000, guid: d83b23d955f9dc5739d0827cd507a63e, type: 3}
|
||||
m_ShaderKeywords:
|
||||
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_Floats:
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _MaxDist: 400
|
||||
- _MaxSteps: 128
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SurfDist: 0.001
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SunPos: {r: 8, g: 4, b: 2, a: 1}
|
8
Assets/test/Spinny.mat.meta
Normal file
8
Assets/test/Spinny.mat.meta
Normal file
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c5afce7a29c155681939e1ad4f96dc18
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -417,6 +417,154 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &627535768
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 627535775}
|
||||
- component: {fileID: 627535774}
|
||||
- component: {fileID: 627535773}
|
||||
- component: {fileID: 627535772}
|
||||
- component: {fileID: 627535771}
|
||||
- component: {fileID: 627535770}
|
||||
- component: {fileID: 627535769}
|
||||
m_Layer: 0
|
||||
m_Name: Spinny
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!65 &627535769
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 627535768}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 1
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 20, y: 20, z: 20}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &627535770
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 627535768}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 990f6f4efb7f4ec98ad99f6dff1bc6f6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: 267a3820-e773-4d80-aa35-8f7551bc813a
|
||||
--- !u!114 &627535771
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 627535768}
|
||||
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 &627535772
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 627535768}
|
||||
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
|
||||
ikReference: {fileID: 0}
|
||||
--- !u!23 &627535773
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 627535768}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: c5afce7a29c155681939e1ad4f96dc18, 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
|
||||
--- !u!33 &627535774
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 627535768}
|
||||
m_Mesh: {fileID: -5495902117074765545, guid: 85702488cb92b9182a44437d143f9fc4, type: 3}
|
||||
--- !u!4 &627535775
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 627535768}
|
||||
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_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 8
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &766214507
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -673,7 +821,7 @@ GameObject:
|
|||
- component: {fileID: 889393502}
|
||||
- component: {fileID: 889393505}
|
||||
m_Layer: 0
|
||||
m_Name: Sphere (1)
|
||||
m_Name: FleshCube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue