mirror of
https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git
synced 2026-04-30 17:43:30 +00:00
(MAJOR)Added Java Beta/Normal Shading, toggleble in settings Fixed and restored the unused Item Switching Animation, toggleble in tweaks too Added Dynamic Texture for Lava Added option to use Block Outline Selection which was unused normally Added Split Touch Controls into Options Mobs will now drop cooked variants of their meat if they died by fire Fixed Untranslated Strings in Settings (MAJOR) Ravines and Lava/Water pools have been fixed and renabled Tweaked BasicTree to hopefully speed up generation a bit, might disable them temporarily if they keep being slow You can now grow Fancy Oak Trees using saplings.
131 lines
2.6 KiB
C++
Executable File
131 lines
2.6 KiB
C++
Executable File
#ifndef NET_MINECRAFT_CLIENT_RENDERER__Tesselator_H__
|
|
#define NET_MINECRAFT_CLIENT_RENDERER__Tesselator_H__
|
|
|
|
//package net.minecraft.client.renderer;
|
|
|
|
#include <map>
|
|
#include "RenderChunk.h"
|
|
#include "gles.h"
|
|
#include "VertecDecl.h"
|
|
|
|
extern const int VertexSizeBytes;
|
|
|
|
typedef VertexDeclPTCN VERTEX;
|
|
typedef std::map<GLuint, GLsizei> IntGLMap;
|
|
|
|
|
|
class Tesselator
|
|
{
|
|
static const int MAX_MEMORY_USE = 16 * 1024 * 1024;
|
|
static const int MAX_FLOATS = MAX_MEMORY_USE / 4 / 2;
|
|
|
|
Tesselator(int size);
|
|
|
|
public:
|
|
static const int ACCESS_DYNAMIC = 1;
|
|
static const int ACCESS_STATIC = 2;
|
|
|
|
static Tesselator instance;
|
|
|
|
~Tesselator();
|
|
|
|
void init();
|
|
void clear();
|
|
|
|
void begin();
|
|
void begin(int mode);
|
|
void draw();
|
|
RenderChunk end(bool useMine, int bufferId);
|
|
|
|
void color(int c);
|
|
void color(int c, int alpha);
|
|
void color(float r, float g, float b);
|
|
void color(float r, float g, float b, float a);
|
|
void color(int r, int g, int b);
|
|
void color(int r, int g, int b, int a);
|
|
void color(char r, char g, char b);
|
|
void colorABGR( int c );
|
|
|
|
void normal(float x, float y, float z);
|
|
void voidBeginAndEndCalls(bool doVoid);
|
|
|
|
void tex(float u, float v);
|
|
|
|
void vertex(float x, float y, float z);
|
|
void vertexUV(float x, float y, float z, float u, float v);
|
|
|
|
void scale2d(float x, float y);
|
|
void resetScale();
|
|
|
|
void noColor();
|
|
void enableColor();
|
|
private:
|
|
void setAccessMode(int mode);
|
|
public:
|
|
|
|
void offset(float xo, float yo, float zo);
|
|
void offset(const Vec3& v);
|
|
void addOffset(float x, float y, float z);
|
|
void addOffset(const Vec3& v);
|
|
|
|
int getVboCount();
|
|
|
|
int getColor();
|
|
|
|
__inline void beginOverride() {
|
|
begin();
|
|
voidBeginAndEndCalls(true);
|
|
}
|
|
__inline void endOverrideAndDraw() {
|
|
voidBeginAndEndCalls(false);
|
|
draw();
|
|
}
|
|
__inline bool isOverridden() {
|
|
return _voidBeginEnd;
|
|
}
|
|
__inline RenderChunk endOverride(int bufferId) {
|
|
voidBeginAndEndCalls(false);
|
|
return end(true, bufferId);
|
|
}
|
|
|
|
private:
|
|
Tesselator(const Tesselator& rhs) {}
|
|
Tesselator& operator=(const Tesselator& rhs) { return *this; }
|
|
VERTEX* _varray;
|
|
|
|
int vertices;
|
|
|
|
float xo, yo, zo;
|
|
float u, v;
|
|
unsigned int _color;
|
|
int _normal;
|
|
float _sx, _sy;
|
|
|
|
bool hasColor;
|
|
bool hasTexture;
|
|
bool hasNormal;
|
|
bool _noColor;
|
|
bool _voidBeginEnd;
|
|
|
|
int p;
|
|
int count;
|
|
|
|
bool tesselating;
|
|
|
|
bool vboMode;
|
|
int vboCounts;
|
|
int vboId;
|
|
GLuint* vboIds;
|
|
|
|
int size;
|
|
int totalSize;
|
|
int maxVertices;
|
|
|
|
int mode;
|
|
int accessMode;
|
|
|
|
IntGLMap map;
|
|
};
|
|
|
|
#endif /*NET_MINECRAFT_CLIENT_RENDERER__Tesselator_H__*/
|