1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- using UnityEngine;
- using System.Collections;
- using UnityEngine.TextCore.LowLevel;
- namespace TMPro.Examples
- {
- public class Benchmark03 : MonoBehaviour
- {
- public enum BenchmarkType { TMP_SDF_MOBILE = 0, TMP_SDF__MOBILE_SSD = 1, TMP_SDF = 2, TMP_BITMAP_MOBILE = 3, TEXTMESH_BITMAP = 4 }
- public int NumberOfSamples = 100;
- public BenchmarkType Benchmark;
- public Font SourceFont;
- void Awake()
- {
- }
- void Start()
- {
- TMP_FontAsset fontAsset = null;
- // Create Dynamic Font Asset for the given font file.
- switch (Benchmark)
- {
- case BenchmarkType.TMP_SDF_MOBILE:
- fontAsset = TMP_FontAsset.CreateFontAsset(SourceFont, 90, 9, GlyphRenderMode.SDFAA, 256, 256, AtlasPopulationMode.Dynamic);
- break;
- case BenchmarkType.TMP_SDF__MOBILE_SSD:
- fontAsset = TMP_FontAsset.CreateFontAsset(SourceFont, 90, 9, GlyphRenderMode.SDFAA, 256, 256, AtlasPopulationMode.Dynamic);
- fontAsset.material.shader = Shader.Find("TextMeshPro/Mobile/Distance Field SSD");
- break;
- case BenchmarkType.TMP_SDF:
- fontAsset = TMP_FontAsset.CreateFontAsset(SourceFont, 90, 9, GlyphRenderMode.SDFAA, 256, 256, AtlasPopulationMode.Dynamic);
- fontAsset.material.shader = Shader.Find("TextMeshPro/Distance Field");
- break;
- case BenchmarkType.TMP_BITMAP_MOBILE:
- fontAsset = TMP_FontAsset.CreateFontAsset(SourceFont, 90, 9, GlyphRenderMode.SMOOTH, 256, 256, AtlasPopulationMode.Dynamic);
- break;
- }
- for (int i = 0; i < NumberOfSamples; i++)
- {
- switch (Benchmark)
- {
- case BenchmarkType.TMP_SDF_MOBILE:
- case BenchmarkType.TMP_SDF__MOBILE_SSD:
- case BenchmarkType.TMP_SDF:
- case BenchmarkType.TMP_BITMAP_MOBILE:
- {
- GameObject go = new GameObject();
- go.transform.position = new Vector3(0, 1.2f, 0);
- TextMeshPro textComponent = go.AddComponent<TextMeshPro>();
- textComponent.font = fontAsset;
- textComponent.fontSize = 128;
- textComponent.text = "@";
- textComponent.alignment = TextAlignmentOptions.Center;
- textComponent.color = new Color32(255, 255, 0, 255);
- if (Benchmark == BenchmarkType.TMP_BITMAP_MOBILE)
- textComponent.fontSize = 132;
- }
- break;
- case BenchmarkType.TEXTMESH_BITMAP:
- {
- GameObject go = new GameObject();
- go.transform.position = new Vector3(0, 1.2f, 0);
- TextMesh textMesh = go.AddComponent<TextMesh>();
- textMesh.GetComponent<Renderer>().sharedMaterial = SourceFont.material;
- textMesh.font = SourceFont;
- textMesh.anchor = TextAnchor.MiddleCenter;
- textMesh.fontSize = 130;
- textMesh.color = new Color32(255, 255, 0, 255);
- textMesh.text = "@";
- }
- break;
- }
- }
- }
- }
- }
|