3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/renderer/block/BakedBlockLightType.h"
7#include "mc/client/renderer/block/BlockTessellatorBlockInWorld.h"
8#include "mc/client/renderer/block/BlockTessellatorCache.h"
9#include "mc/client/renderer/block/block_geo_type/GeoTypeResolver.h"
10#include "mc/client/renderer/block/block_tessellator_custom_extra_data/Map.h"
11#include "mc/client/renderer/texture/TextureUVCoordinateSet.h"
12#include "mc/client/world/level/biome/BiomeTintCache.h"
13#include "mc/deps/core/math/Color.h"
14#include "mc/deps/core/utility/buffer_span.h"
15#include "mc/deps/minecraft_renderer/framebuilder/FrameLightingModelCapabilities.h"
16#include "mc/deps/minecraft_renderer/renderer/MaterialPtr.h"
17#include "mc/legacy/facing/Rotation.h"
18#include "mc/world/Direction.h"
19#include "mc/world/Flip.h"
20#include "mc/world/level/BlockPos.h"
21#include "mc/world/level/block/AnvilPart.h"
22#include "mc/world/level/block/BlockRenderLayer.h"
23#include "mc/world/level/block/BlockShape.h"
24#include "mc/world/level/block/BrightnessPair.h"
25#include "mc/world/phys/AABB.h"
43namespace mce {
class Mesh; }
56 enum class CrossTextureWidth : uchar {
61 enum class CrossTextureReverseSideMapping : uchar {
66 enum class BambooFenceSlatPieceType :
int {
72 enum class FenceGatePieceType :
int {
74 ClosedInnerLeftPost = 1,
75 ClosedInnerRightPost = 2,
77 OpenedInnerLeftPost = 4,
78 OpenedInnerRightPost = 5,
85 ::ll::TypedStorage<8, 8, ::BlockType const*> mFire;
86 ::ll::TypedStorage<8, 8, ::Block const*> mRedstoneTorch;
87 ::ll::TypedStorage<8, 8, ::Block const*> mUnlitRedstoneTorch;
88 ::ll::TypedStorage<8, 8, ::Block const*> mObsidian;
96 ::ll::TypedStorage<2, 2, ushort> pbrTextureDataHandle;
97 ::ll::TypedStorage<4, 4, float> u0;
98 ::ll::TypedStorage<4, 4, float> u1;
99 ::ll::TypedStorage<4, 4, float> v0;
100 ::ll::TypedStorage<4, 4, float> v1;
107 ::ll::TypedStorage<1, 1, bool> mRenderingExtra;
108 ::ll::TypedStorage<1, 1, bool> mUseNormals;
109 ::ll::TypedStorage<1, 1, bool> mTextureShiftEnabled;
110 ::ll::TypedStorage<8, 8, ::BlockSource*> mRegion;
111 ::ll::TypedStorage<4, 8, ::mce::framebuilder::FrameLightingModelCapabilities> mLightingModelCapabilities;
112 ::ll::TypedStorage<8, 96, ::TextureUVCoordinateSet> mFixedTexture;
113 ::ll::TypedStorage<1, 1, bool> mSupportsNewVertexFormat;
114 ::ll::TypedStorage<1, 1, bool> mUseFixedTexture;
115 ::ll::TypedStorage<1, 1, bool> mUseOccluder;
116 ::ll::TypedStorage<1, 1, bool> _tmpUseRegion;
117 ::ll::TypedStorage<1, 1, bool> mXFlipTexture;
118 ::ll::TypedStorage<4, 4, int> mRenderingLayer;
119 ::ll::TypedStorage<1, 1, bool> mRenderingGUI;
120 ::ll::TypedStorage<1, 1, bool> mVersionPreTrailsAndTales;
121 ::ll::TypedStorage<1, 1, bool> mUseFixedColor;
122 ::ll::TypedStorage<4, 96, ::std::array<::mce::Color, 6>> mFixedColors;
123 ::ll::TypedStorage<1, 1, bool> mApplyAmbientOcclusion;
124 ::ll::TypedStorage<4, 4, ::BakedBlockLightType> mBakedLighting;
125 ::ll::TypedStorage<1, 1, bool> mForExport;
126 ::ll::TypedStorage<1, 1, bool> mUseCachedCalculation;
127 ::ll::TypedStorage<4, 128, ::mce::Color[8]> mAoColors;
128 ::ll::TypedStorage<1, 8, ::BrightnessPair[4]> mTc;
129 ::ll::TypedStorage<1, 6, ::std::array<::Flip, 6>> mFlipFace;
130 ::ll::TypedStorage<4, 120, ::std::array<::BlockTessellator::UVOverride, 6>> mTextureOverride;
131 ::ll::TypedStorage<8, 1000, ::Block const* [125]> mAmbientOcclusionCacheBlocks;
132 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mItemMat;
133 ::ll::TypedStorage<4, 24, ::AABB> mCurrentShapeBB;
134 ::ll::TypedStorage<1, 1, bool> mCurrentShapeSet;
135 ::ll::TypedStorage<8, 8, ::Block const*> mCurrentShapeBlock;
136 ::ll::TypedStorage<4, 12, ::BlockPos> mCurrentShapeBlockPos;
137 ::ll::TypedStorage<4, 4, float> mCurrentScale;
138 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, ::mce::Mesh>> mBlockMeshes;
139 ::ll::TypedStorage<8, 64, ::std::unordered_map<::BlockTessellatorBlockInWorld, ::mce::Mesh>> mInWorldBlockMeshes;
140 ::ll::TypedStorage<8, 272032, ::BlockTessellatorCache> mBlockCache;
141 ::ll::TypedStorage<8, 64, ::std::function<::Block
const&(::BlockPos
const&)>> mCachedGetBlock;
142 ::ll::TypedStorage<8, 19288, ::BiomeTintCache> mBiomeWeights;
143 ::ll::TypedStorage<4, 20, ::std::optional<::mce::Color>> mColorOverride;
144 ::ll::TypedStorage<1, 1, bool> mForceOpaque;
145 ::ll::TypedStorage<8, 128, ::BlockTessellatorCustomExtraData::Map> mBlockExtraDataMap;
146 ::ll::TypedStorage<8, 32, ::BlockTessellator::LocalRegistry> mLocalRegistry;
147 ::ll::TypedStorage<8, 64, ::BlockGeoType::GeoTypeResolver> mGeoTypeResolver;
157 MCAPI
explicit BlockTessellator(::BlockSource* level);
159 MCAPI
void _flipAllFaces(::Facing::Rotation rotation);
161 MCAPI ::TextureUVCoordinateSet
const& _getTexture(
162 ::BlockPos
const& pos,
163 ::Block
const& block,
166 ::BlockGraphics
const* graphicsHint
169 MCAPI
void _modifyCurrentShapeAccordingToAttachmentDirection(::Direction::Type attachmentDir);
171 MCAPI
void _preparePolyCross(::Tessellator& tessellator, ::BlockPos
const& p, ::Block
const& block);
173 MCAPI
void _setBambooFencePostTexture(::TextureUVCoordinateSet
const& bambooFenceTex);
175 MCAPI
void _setBambooFenceSlatTextureGui(
176 ::TextureUVCoordinateSet
const& bambooFenceTex,
177 ::BlockTessellator::BambooFenceSlatPieceType type
180 MCAPI
void _tessellateAllFaces(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
182 MCAPI
void _tessellateBambooFenceGui(
183 ::Tessellator& tessellator,
184 ::Block
const& block,
186 bool isInventoryIcon,
187 float lightMultiplier,
188 float alphaMultiplier,
193 MCAPI
void _tessellateBambooFenceSlatsInWorld(
194 ::Tessellator& tessellator,
195 ::Block
const& block,
200 MCAPI
bool _tessellateBlockInWorldFlat(
201 ::Tessellator& tessellator,
202 ::Block
const& block,
203 ::BlockPos
const& pos,
204 ::mce::Color
const& base,
205 ::BlockOccluder* occluder,
206 ::std::bitset<6>
const faces,
210 MCAPI
bool _tessellateBlockInWorldWithAmbienceOcclusion(
211 ::Tessellator& tessellator,
212 ::Block
const& block,
214 ::mce::Color
const& base,
215 ::BlockOccluder* occluder,
216 ::std::bitset<6>
const faces,
220 MCAPI
void _tessellateCalibratedSculkSensorAmethystCrystalInWorld(
221 ::Tessellator& tessellator,
222 ::Block
const& block,
226 MCAPI
void _tessellateFenceGateGui(
227 ::Tessellator& tessellator,
228 ::Block
const& block,
230 bool isInventoryIcon,
231 float lightMultiplier,
232 float alphaMultiplier,
237 MCAPI
void _tessellateForInventory(
238 ::Tessellator& tessellator,
239 ::Block
const& block,
240 ::BlockPos
const& pos,
241 float lightMultiplier,
242 float alphaMultiplier,
247 MCAPI
void _tessellateSculkSensorTendrilsInWorld(
248 ::Tessellator& tessellator,
249 ::Block
const& block,
251 uchar tessellationType
254 MCAPI
void _tex1(::Tessellator& tessellator, ::Vec2
const& uv);
257 _trySetFenceGateTexture(::Block
const& block, ::BlockPos
const& p, ::BlockTessellator::FenceGatePieceType type);
259 MCAPI
void appendTessellatedBlock(::Tessellator& tessellator, ::Block
const& block);
261 MCAPI
void clearBlockCache();
263 MCAPI ::AABB
const& getCurrentShape();
265 MCAPI ::mce::Mesh& getMeshForBlock(::Tessellator& tessellator, ::Block
const& block);
267 MCAPI ::mce::Mesh& getMeshForBlockInWorld(
268 ::Tessellator& tessellator,
269 ::Block
const& block,
270 ::BlockPos& blockPos,
271 ::BlockRenderLayer layer,
275 ::LightTexture
const& lightTexture
278 MCAPI
float getWaterHeight(::BlockPos
const& pos, ::Material
const& material, ::BlockPos
const& originalBlockPos);
280 MCAPI
void moveCurrentShape(::Vec3
const& offset);
282 MCAPI
void renderGuiBlock(
283 ::ScreenContext& screenContext,
284 ::Block
const& block,
285 ::BlockGraphics
const& blockGraphics,
286 ::mce::TexturePtr
const& texture,
287 float lightMultiplier,
288 float alphaMultiplier,
289 ::OffscreenCaptureDescription
const& capture
292 MCAPI
bool rotateCommandBlockFaces(::Block
const& block);
294 MCAPI
void setRegion(::BlockSource& region);
296 MCAPI
void tessellateAll(
297 ::Tessellator& tessellator,
298 ::Block
const& block,
300 ::TextureUVCoordinateSet
const& tex
303 MCAPI
bool tessellateAmethystCluster(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
306 tessellateAnvilInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos,
bool render);
308 MCAPI
float tessellateAnvilPiece(
309 ::Tessellator& tessellator,
310 ::Block
const& block,
319 ::buffer_span<::Flip> faces
322 MCAPI
bool tessellateAzaleaBlockInWorld(
323 ::Tessellator& tessellator,
324 ::Block
const& block,
325 ::BlockPos
const& pos,
329 MCAPI
bool tessellateBambooBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
332 tessellateBambooSaplingBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
334 MCAPI
bool tessellateBambooStalkBlockInWorld(
335 ::Tessellator& tessellator,
336 ::Block
const& block,
337 ::BlockPos
const& pos,
341 MCAPI
void tessellateBambooStemInWorld(
342 ::Tessellator& tessellator,
343 ::Block
const& block,
344 ::BlockPos
const& pos,
345 ::BlockGraphics
const& blockGraphics,
346 float const diameter,
347 float const sideVariantOffset,
348 float const verticalPortion
351 MCAPI
bool tessellateBeaconInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
353 MCAPI
bool tessellateBellBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
355 MCAPI
void tessellateBellBlockStandingLegInWorld(
356 ::Tessellator& tessellator,
357 ::Block
const& block,
358 ::BlockPos
const& pos,
359 ::BlockGraphics
const& blockGraphics,
363 MCAPI
bool tessellateBigDripleafBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
365 MCAPI
bool tessellateBlockInWorld(
366 ::Tessellator& tessellator,
367 ::Block
const& block,
368 ::BlockPos
const& pos,
369 ::std::bitset<6>
const faces,
370 ::AirAndSimpleBlockBits
const* airAndSimpleBlocks
373 MCAPI
bool tessellateBrewingStandInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
375 MCAPI
bool tessellateBubbleColumnInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
377 MCAPI
bool tessellateCactusInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
380 tessellateCalibratedSculkSensorBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
383 tessellateCameraFacingSpriteInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
385 MCAPI
bool tessellateCampfireBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
387 MCAPI
bool tessellateCandleCakeInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
389 MCAPI
bool tessellateCandleInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
391 MCAPI
bool tessellateCauldronInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
393 MCAPI
bool tessellateCaveVinesInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
395 MCAPI
bool tessellateChainInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
397 MCAPI
bool tessellateChemistryTableInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
400 tessellateChiseledBookshelfBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
403 tessellateChorusFlowerInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos,
bool render);
405 MCAPI
bool tessellateChorusPlantInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
407 MCAPI
bool tessellateCocoaInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
409 MCAPI
bool tessellateCommandBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
411 MCAPI
bool tessellateComparatorInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
413 MCAPI
bool tessellateComposterBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
415 MCAPI
void tessellateCompoundCreatorFace(
416 ::Tessellator& tessellator,
417 ::Block
const& block,
419 ::TextureUVCoordinateSet
const& tex,
427 MCAPI
bool tessellateCoralFanHangInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
429 MCAPI
bool tessellateCoralFanInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
431 MCAPI
bool tessellateCrossInWorld(
432 ::Tessellator& tessellator,
433 ::Block
const& block,
435 bool const forceDoubleSide,
436 ::BlockTessellator::CrossTextureReverseSideMapping reverseSideMapping,
438 ::BlockTessellator::CrossTextureWidth width
441 MCAPI
void tessellateCrossTexture(
442 ::Tessellator& tessellator,
443 ::TextureUVCoordinateSet
const& tex1,
444 ::TextureUVCoordinateSet
const& tex2,
446 ::Block
const& block,
448 ::BlockTessellator::CrossTextureWidth width,
449 ::BlockTessellator::CrossTextureReverseSideMapping reverseSideMapping,
450 bool const forceDoubleSided
453 MCAPI
void tessellateCrossTextureUp(
454 ::Tessellator& tessellator,
455 ::TextureUVCoordinateSet
const& tex1,
456 ::TextureUVCoordinateSet
const& tex2,
458 bool const renderBothSides,
459 ::Block
const& block,
461 ::BlockTessellator::CrossTextureWidth width,
462 ::BlockTessellator::CrossTextureReverseSideMapping reverseSideMapping
465 MCAPI
bool tessellateDiodeInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
467 MCAPI
bool tessellateDoorInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
469 MCAPI
bool tessellateDoublePlantInWorld(
470 ::Tessellator& tessellator,
471 ::Block
const& block,
472 ::BlockShape
const blockShape,
474 bool const forceDoubleSided,
476 bool applyAmbientOcclusion,
477 ::BlockTessellator::CrossTextureReverseSideMapping reverseSideMapping,
478 ::BlockTessellator::CrossTextureWidth width
481 MCAPI
bool tessellateDoubleThinFenceInWorld(
482 ::Tessellator& tessellator,
483 ::Block
const& block,
489 tessellateDriedGhastInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& position);
491 MCAPI
bool tessellateDriedKelpBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
493 MCAPI
bool tessellateDustInWorld(::Tessellator& tessellator, ::Block
const& b, ::BlockPos
const& p);
495 MCAPI
void tessellateEast(
496 ::Tessellator& tessellator,
497 ::Block
const& block,
499 ::TextureUVCoordinateSet
const& intex
502 MCAPI
bool tessellateEndGatewayInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
504 MCAPI
bool tessellateEndPortalFrameInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
506 MCAPI
bool tessellateEndPortalInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
509 tessellateEndRodAppended(::Tessellator& tessellator, ::Block
const& block, ::BlockGraphics
const& blockGraphics);
512 tessellateEndRodGui(::Tessellator& tessellator, ::Block
const& block, ::BlockGraphics
const& blockGraphics);
514 MCAPI
bool tessellateEndRodInWorld(::Tessellator& tessellator, ::Block
const& b, ::BlockPos
const& p);
516 MCAPI
bool tessellateEyeblossomInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
518 MCAPI
void tessellateFaceDown(
519 ::Tessellator& tessellator,
520 ::Block
const& block,
522 ::TextureUVCoordinateSet
const& intex
525 MCAPI
void tessellateFaceUp(
526 ::Tessellator& tessellator,
527 ::Block
const& block,
529 ::TextureUVCoordinateSet
const& intex
532 MCAPI
void tessellateFaceWithUVs(
533 ::Tessellator& tessellator,
534 ::Block
const& block,
536 ::TextureUVCoordinateSet
const& tex,
544 MCAPI
bool tessellateFacingBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
546 MCAPI
bool tessellateFenceGateInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
548 MCAPI
bool tessellateFenceInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
550 MCAPI
bool tessellateFireInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos p);
552 MCAPI
bool tessellateFireflyBushInWorld(
553 ::Tessellator& tessellator,
554 ::Block
const& block,
555 ::BlockPos
const& pos,
556 ::BlockGraphics
const& blockGraphics
559 MCAPI
bool tessellateFlowerBedBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
561 MCAPI
bool tessellateFlowerPotInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
563 MCAPI
bool tessellateFrogSpawnInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
566 tessellateGrindstoneBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
568 MCAPI
void tessellateGrindstoneLegInWorld(
569 ::Tessellator& tessellator,
570 ::Block
const& block,
571 ::BlockPos
const& pos,
574 ::Direction::Type attachmentDir
577 MCAPI
bool tessellateHoneyBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
579 MCAPI
bool tessellateHopperInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
582 tessellateHopperInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos,
bool render);
585 tessellateInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos,
bool useCalcWithCache);
587 MCAPI
bool tessellateIndividualCandleInWorld(
588 ::Tessellator& tessellator,
589 ::Block
const& block,
595 MCAPI
bool tessellateIndividualSeaPickleInWorld(
596 ::Tessellator& tessellator,
597 ::Block
const& block,
603 MCAPI
bool tessellateIndividualTurtleEggInWorld(
604 ::Tessellator& tessellator,
605 ::Block
const& block,
612 MCAPI
bool tessellateItemFrameInWorld(
613 ::Tessellator& tessellator,
614 ::Block
const& block,
615 ::BlockPos
const& pos,
616 bool const ignoreLighting
619 MCAPI
bool tessellateKelpInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
621 MCAPI
bool tessellateLadderInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
623 MCAPI
bool tessellateLanternBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
625 MCAPI
bool tessellateLecternBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
627 MCAPI
bool tessellateLeverInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
630 tessellateLightningRodGui(::Tessellator& tessellator, ::Block
const& block, ::BlockGraphics
const& blockGraphics);
632 MCAPI
bool tessellateLightningRodInWorld(::Tessellator& tessellator, ::Block
const& b, ::BlockPos
const& p);
634 MCAPI
bool tessellateLilypadInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
636 MCAPI
bool tessellateLiquidInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
639 tessellateMangrovePropaguleHangingInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
641 MCAPI
bool tessellateMangrovePropaguleInWorld(
642 ::Tessellator& tessellator,
643 ::Block
const& block,
648 MCAPI
bool tessellateMangroveRootInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
650 MCAPI
bool tessellateMultiFaceBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
652 MCAPI
void tessellateNorth(
653 ::Tessellator& tessellator,
654 ::Block
const& block,
656 ::TextureUVCoordinateSet
const& intex
659 MCAPI
bool tessellatePaleMossCarpetInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
661 MCAPI
bool tessellatePistonInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
663 MCAPI
bool tessellatePitcherCropInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
665 MCAPI
bool tessellatePitcherPlantInWorld(
666 ::Tessellator& tessellator,
667 ::Block
const& block,
668 ::BlockShape
const& blockShape,
672 MCAPI
bool tessellatePointedDripstoneInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
674 MCAPI
bool tessellateRailInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
676 MCAPI
bool tessellateRepeaterInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
678 MCAPI
bool tessellateRowInWorld(
679 ::Tessellator& tessellator,
680 ::Block
const& block,
682 bool const forceDoubleSide
685 MCAPI
void tessellateRowTexture(
686 ::Tessellator& tessellator,
687 ::Block
const& block,
689 ::TextureUVCoordinateSet
const& tex,
693 bool const forceDoubleSide
696 MCAPI
void tessellateRowTexture(
697 ::Tessellator& tessellator,
698 ::TextureUVCoordinateSet
const& tex1,
699 ::TextureUVCoordinateSet
const& tex2,
700 ::TextureUVCoordinateSet
const& tex3,
701 ::TextureUVCoordinateSet
const& tex4,
708 tessellateScaffoldingBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
710 MCAPI
void tessellateScaffoldingHorizontalPoleInWorld(
711 ::Tessellator& tessellator,
712 ::Block
const& block,
713 ::TextureUVCoordinateSet
const& side,
714 ::TextureUVCoordinateSet
const& bottom,
715 ::BlockPos
const& blockPos,
717 ::Vec3
const& offset,
718 bool const isSupportPole
721 MCAPI
void tessellateScaffoldingVerticalPoleInWorld(
722 ::Tessellator& tessellator,
723 ::Block
const& block,
724 ::TextureUVCoordinateSet
const& tex,
725 ::BlockPos
const& pos,
729 MCAPI
bool tessellateSculkSensorBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
731 MCAPI
bool tessellateSculkShriekerInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
733 MCAPI
bool tessellateSeaPickleInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
735 MCAPI
bool tessellateSeagrassInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
737 MCAPI
bool tessellateShelfBlockInGui(::Tessellator& tessellator, ::Block
const& block);
739 MCAPI
bool tessellateShelfBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
741 MCAPI
void tessellateSimpleBlockInWorld(
742 ::Tessellator& tessellator,
743 ::Block
const& block,
744 ::BlockPos
const& pos,
745 ::AirAndSimpleBlockBits
const& airAndSimpleBlocks
748 MCAPI
bool tessellateSlimeBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
751 tessellateSmallDripleafBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
753 MCAPI
void tessellateSouth(
754 ::Tessellator& tessellator,
755 ::Block
const& block,
757 ::TextureUVCoordinateSet
const& intex
760 MCAPI
bool tessellateSporeBlossomInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
762 MCAPI
bool tessellateStairsInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
764 MCAPI
bool tessellateStemInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
766 MCAPI
void tessellateStemTexture(
767 ::Tessellator& tessellator,
768 ::TextureUVCoordinateSet
const& tex,
776 tessellateStoneCutterBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
778 MCAPI
bool tessellateStructureVoidInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
781 tessellateSweetBerryBushBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
783 MCAPI
bool tessellateTerracottaInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
785 MCAPI
bool tessellateTopSnowInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
787 MCAPI
void tessellateTorch(
788 ::Tessellator& tessellator,
789 ::Block
const& block,
796 MCAPI
bool tessellateTorchInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
798 MCAPI
bool tessellateTrapdoorInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
800 MCAPI
bool tessellateTreeInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
802 MCAPI
bool tessellateTripwireHookInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
804 MCAPI
bool tessellateTripwireInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
806 MCAPI
bool tessellateTurtleEggInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
808 MCAPI
bool tessellateTwistingVinesInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
810 MCAPI
bool tessellateVaultInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
812 MCAPI
bool tessellateVineInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
814 MCAPI
bool tessellateWallInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
816 MCAPI
bool tessellateWeepingVinesInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
818 MCAPI
void tessellateWest(
819 ::Tessellator& tessellator,
820 ::Block
const& block,
822 ::TextureUVCoordinateSet
const& intex
825 MCAPI ~BlockTessellator();
831 MCAPI static ::TextureUVCoordinateSet
const& _getMappedTexture(::Block
const& block, uchar face);
833 MCAPI
static bool canRender(::BlockShape blockShape);
839 MCAPI
void* $ctor(::BlockSource* level);
Definition BlockGraphics.h:5
Definition BlockOccluder.h:5
Definition BlockSource.h:71
Definition BlockTessellator.h:5
Definition BlockType.h:79
Definition LightTexture.h:5
Definition ScreenContext.h:5
Definition Tessellator.h:5
Definition TexturePtr.h:7
Definition AirAndSimpleBlockBits.h:5
Definition BlockTessellator.h:22
Definition BlockTessellator.h:24
Definition OffscreenCaptureDescription.h:5