private void CreateHeadLight() { var vertices = PrimitiveUtils.CreateBacksideVertices(new Vector3(0), new Vector2(2), 1); var uvs = PrimitiveUtils.CreateBackUVs(); var mesh = new Mesh(vertices, uvs, _headlightShader) { IsInstanced = true }; _meshes.Add(mesh); }
public Billboard CreateSouthFacingBillboard(Vector3 position, Vector2 area, float height) { var texture = _billboardTextures.ElementAt(_random.Next(_billboardTextures.Length)); var width = CalculateBillboardWidth(height); position.X = position.X + area.X - width; //compensate position because of the worldspace coordinates area.X = width; position.Z -= 0.05f; return(new Billboard( texture, _shader, PrimitiveUtils.CreateBacksideVertices(position, area, height), PrimitiveUtils.CreateBackUVs())); }