浏览代码

adding random texture to each object of the test scene

/batch_rendering
Arnaud Carre 8 年前
当前提交
70fade03
共有 21 个文件被更改,包括 1116 次插入5 次删除
  1. 11
      Assets/BasicRenderBatching/BasicBatching.unity
  2. 15
      Assets/BasicRenderBatching/BasicRenderBatchingShader.shader
  3. 5
      Assets/BasicRenderBatching/Scripts/PopulateScene.cs
  4. 9
      Assets/BasicRenderBatching/Textures/numbers.meta
  5. 62
      Assets/BasicRenderBatching/Textures/numbers/1.png
  6. 68
      Assets/BasicRenderBatching/Textures/numbers/1.png.meta
  7. 85
      Assets/BasicRenderBatching/Textures/numbers/2.png
  8. 68
      Assets/BasicRenderBatching/Textures/numbers/2.png.meta
  9. 46
      Assets/BasicRenderBatching/Textures/numbers/3.png
  10. 68
      Assets/BasicRenderBatching/Textures/numbers/3.png.meta
  11. 68
      Assets/BasicRenderBatching/Textures/numbers/4.png
  12. 68
      Assets/BasicRenderBatching/Textures/numbers/4.png.meta
  13. 67
      Assets/BasicRenderBatching/Textures/numbers/5.png
  14. 68
      Assets/BasicRenderBatching/Textures/numbers/5.png.meta
  15. 73
      Assets/BasicRenderBatching/Textures/numbers/6.png
  16. 68
      Assets/BasicRenderBatching/Textures/numbers/6.png.meta
  17. 39
      Assets/BasicRenderBatching/Textures/numbers/7.png
  18. 68
      Assets/BasicRenderBatching/Textures/numbers/7.png.meta
  19. 97
      Assets/BasicRenderBatching/Textures/numbers/8.png
  20. 68
      Assets/BasicRenderBatching/Textures/numbers/8.png.meta

11
Assets/BasicRenderBatching/BasicBatching.unity


m_Script: {fileID: 11500000, guid: 9dcd15e6e67bc6e44a4583f4d53cdcf8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ObjectPrefab: {fileID: 1877103646185790, guid: b764b667902787f459cc591ec15679db,
type: 2}
m_ObjectsPrefab:
- {fileID: 1877103646185790, guid: b764b667902787f459cc591ec15679db, type: 2}
- {fileID: 1877103646185790, guid: c840622845d2c194ca0be162e7ea07e6, type: 2}

m_Material: {fileID: 2100000, guid: 4c676c131a81b634988506c3023ea7a5, type: 2}
m_Textures:
- {fileID: 2800000, guid: 4425fca2a65e78c49b2415476d1cc5ec, type: 3}
- {fileID: 2800000, guid: 04b429f47f1e0d54ca799a2a31986801, type: 3}
- {fileID: 2800000, guid: 70233265683595f468e46f6300a0c7f5, type: 3}
- {fileID: 2800000, guid: b94537f3a7934f84a9e66c662bc06800, type: 3}
- {fileID: 2800000, guid: ff3ba92a36048274ab6eb2ec4567fa44, type: 3}
- {fileID: 2800000, guid: 2d69bdda1399802499987e9f68ae88ed, type: 3}
- {fileID: 2800000, guid: 14d974c88ade21747938eb13f6cfc152, type: 3}
- {fileID: 2800000, guid: 8e18cf146b7c0d0449454cdeb8653d94, type: 3}
m_GridWidth: 64
m_Spacing: 0.4
--- !u!114 &870320119

15
Assets/BasicRenderBatching/BasicRenderBatchingShader.shader


{
// _Color("Color", Color) = (1,1,1,1)
myColor("Color", Color) = (1,1,1,1)
// [HideInInspector] _Mode("__mode", Float) = 0.0
_MainTex("Albedo", 2D) = "white" {}
// [HideInInspector] _Mode("__mode", Float) = 0.0
// [HideInInspector] _SrcBlend("__src", Float) = 1.0
// [HideInInspector] _DstBlend("__dst", Float) = 0.0
// [HideInInspector] _ZWrite("__zw", Float) = 1.0

return c;
}
sampler2D _MainTex;
// float2 uv : TEXCOORD0;
float2 uv : TEXCOORD0;
float3 positionWS : TEXCOORD1;
float3 normalWS : TEXCOORD2;
float4 hpos : SV_POSITION;

v2f vert(s2v v)
{
v2f o;
o.uv = v.texcoord.xy;
o.hpos = mul(UNITY_MATRIX_MVP, v.vertex);
o.positionWS = mul(unity_ObjectToWorld, v.vertex).xyz;
o.normalWS = normalize(mul((float3x3)unity_WorldToObject, v.normal));

{
i.normalWS = normalize(i.normalWS);
float4 color;
color = half4(EvaluateOneLight(0, i.positionWS, i.normalWS, myColor.rgb),1);
float4 diffuseAlbedo = tex2D(_MainTex, i.uv);
color = half4(EvaluateOneLight(0, i.positionWS, i.normalWS, diffuseAlbedo.rgb * myColor.rgb),1);
return color;
}

5
Assets/BasicRenderBatching/Scripts/PopulateScene.cs


public Transform m_CenterPoint;
public Material m_Material;
public Texture2D[] m_Textures = new Texture2D[8];
public int m_GridWidth = 16;
public float m_Spacing = 0.6f;

Material mat = Instantiate(m_Material);
Color oColor = new Color(Random.value, Random.value, Random.value, 1.0f);
mat.SetColor("myColor", oColor);
int t = Random.Range(0, 7);
mat.SetTexture("_MainTex", m_Textures[t]);
mat.InitUniformBuffers();

9
Assets/BasicRenderBatching/Textures/numbers.meta


fileFormatVersion: 2
guid: c94dca1c035837f4bbb7bb2f906837c7
folderAsset: yes
timeCreated: 1482400755
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

62
Assets/BasicRenderBatching/Textures/numbers/1.png

之前 之后
宽度: 256  |  高度: 256  |  大小: 13 KiB

68
Assets/BasicRenderBatching/Textures/numbers/1.png.meta


fileFormatVersion: 2
guid: 4425fca2a65e78c49b2415476d1cc5ec
timeCreated: 1482400755
licenseType: Pro
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

85
Assets/BasicRenderBatching/Textures/numbers/2.png

之前 之后
宽度: 256  |  高度: 256  |  大小: 16 KiB

68
Assets/BasicRenderBatching/Textures/numbers/2.png.meta


fileFormatVersion: 2
guid: 04b429f47f1e0d54ca799a2a31986801
timeCreated: 1482400755
licenseType: Pro
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

46
Assets/BasicRenderBatching/Textures/numbers/3.png

之前 之后
宽度: 256  |  高度: 256  |  大小: 15 KiB

68
Assets/BasicRenderBatching/Textures/numbers/3.png.meta


fileFormatVersion: 2
guid: 70233265683595f468e46f6300a0c7f5
timeCreated: 1482400755
licenseType: Pro
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

68
Assets/BasicRenderBatching/Textures/numbers/4.png

之前 之后
宽度: 256  |  高度: 256  |  大小: 14 KiB

68
Assets/BasicRenderBatching/Textures/numbers/4.png.meta


fileFormatVersion: 2
guid: b94537f3a7934f84a9e66c662bc06800
timeCreated: 1482400755
licenseType: Pro
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

67
Assets/BasicRenderBatching/Textures/numbers/5.png

之前 之后
宽度: 256  |  高度: 256  |  大小: 14 KiB

68
Assets/BasicRenderBatching/Textures/numbers/5.png.meta


fileFormatVersion: 2
guid: ff3ba92a36048274ab6eb2ec4567fa44
timeCreated: 1482400755
licenseType: Pro
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

73
Assets/BasicRenderBatching/Textures/numbers/6.png

之前 之后
宽度: 256  |  高度: 256  |  大小: 15 KiB

68
Assets/BasicRenderBatching/Textures/numbers/6.png.meta


fileFormatVersion: 2
guid: 2d69bdda1399802499987e9f68ae88ed
timeCreated: 1482400755
licenseType: Pro
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

39
Assets/BasicRenderBatching/Textures/numbers/7.png

之前 之后
宽度: 256  |  高度: 256  |  大小: 12 KiB

68
Assets/BasicRenderBatching/Textures/numbers/7.png.meta


fileFormatVersion: 2
guid: 14d974c88ade21747938eb13f6cfc152
timeCreated: 1482400755
licenseType: Pro
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

97
Assets/BasicRenderBatching/Textures/numbers/8.png

之前 之后
宽度: 256  |  高度: 256  |  大小: 17 KiB

68
Assets/BasicRenderBatching/Textures/numbers/8.png.meta


fileFormatVersion: 2
guid: 8e18cf146b7c0d0449454cdeb8653d94
timeCreated: 1482400755
licenseType: Pro
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
正在加载...
取消
保存