51 foreach (KeyValuePair<Texture2D, TerrainGeometry> drawGroup
in m_geometry.Draws) {
53 foreach (
int index
in geometry.
Indices) {
64 Vector3 v =
new(MathF.Floor(viewPosition.
X), 0f, MathF.Floor(viewPosition.
Z));
70 m_shader.GetParameter(
"u_origin").SetValue(v.
XZ);
71 m_shader.GetParameter(
"u_viewProjectionMatrix").SetValue(value);
76 m_shader.GetParameter(
"u_fogBottomTopDensity")
79 m_shader.GetParameter(
"u_alphaThreshold").SetValue(0.5f);
105 for (
int i = 0; i < 8; i++) {
static readonly BlendState NonPremultiplied
static readonly DepthStencilState Default
static readonly RasterizerState CullCounterClockwiseScissor
static SamplerState PointWrap
void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
生成地形顶点(用于绘制放置的方块)
virtual Texture2D GetDiggingCrackingTexture(ComponentMiner miner, float digProgress, int value, Texture2D[] defaultCrackTextures)
virtual TerrainVertex SetDiggingCrackingTextureTransform(TerrainVertex vertex)
Matrix InvertedViewMatrix
DynamicArray< int > m_indices
ComponentMiner m_componentMiner
static int[] m_drawOrders
virtual void Draw(Camera camera, int drawOrder)
override void Load(ValuesDictionary valuesDictionary, IdToEntityMap idToEntityMap)
SubsystemSky m_subsystemSky
SubsystemTerrain m_subsystemTerrain
DynamicArray< TerrainVertex > m_vertices
static object Get(Type type, string name)
TerrainGeometryDynamicArray< TerrainVertex > Vertices
TerrainGeometryDynamicArray< int > Indices
static int ExtractContents(int value)
ValuesDictionary ValuesDictionary
static Matrix CreateTranslation(float x, float y, float z)
static readonly VertexDeclaration VertexDeclaration