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
float _getLiquidOwnHeight(::BlockPos
const& pos, ::Material
const& material);
163 MCAPI ::TextureUVCoordinateSet
const& _getTexture(
164 ::BlockPos
const& pos,
165 ::Block
const& block,
168 ::BlockGraphics
const* graphicsHint
171 MCAPI
void _modifyCurrentShapeAccordingToAttachmentDirection(::Direction::Type attachmentDir);
173 MCAPI
void _preparePolyCross(::Tessellator& tessellator, ::BlockPos
const& p, ::Block
const& block);
175 MCAPI
void _setBambooFencePostTexture(::TextureUVCoordinateSet
const& bambooFenceTex);
177 MCAPI
void _setBambooFenceSlatTextureGui(
178 ::TextureUVCoordinateSet
const& bambooFenceTex,
179 ::BlockTessellator::BambooFenceSlatPieceType type
182 MCAPI
void _tessellateAllFaces(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
184 MCAPI
void _tessellateBambooFenceGui(
185 ::Tessellator& tessellator,
186 ::Block
const& block,
188 bool isInventoryIcon,
189 float lightMultiplier,
190 float alphaMultiplier,
195 MCAPI
void _tessellateBambooFenceSlatsInWorld(
196 ::Tessellator& tessellator,
197 ::Block
const& block,
202 MCAPI
bool _tessellateBlockInWorldFlat(
203 ::Tessellator& tessellator,
204 ::Block
const& block,
205 ::BlockPos
const& pos,
206 ::mce::Color
const& base,
207 ::BlockOccluder* occluder,
208 ::std::bitset<6>
const faces,
212 MCAPI
bool _tessellateBlockInWorldWithAmbienceOcclusion(
213 ::Tessellator& tessellator,
214 ::Block
const& block,
216 ::mce::Color
const& base,
217 ::BlockOccluder* occluder,
218 ::std::bitset<6>
const faces,
222 MCAPI
void _tessellateCalibratedSculkSensorAmethystCrystalInWorld(
223 ::Tessellator& tessellator,
224 ::Block
const& block,
228 MCAPI
void _tessellateFenceGateGui(
229 ::Tessellator& tessellator,
230 ::Block
const& block,
232 bool isInventoryIcon,
233 float lightMultiplier,
234 float alphaMultiplier,
239 MCAPI
void _tessellateForInventory(
240 ::Tessellator& tessellator,
241 ::Block
const& block,
242 ::BlockPos
const& pos,
243 float lightMultiplier,
244 float alphaMultiplier,
249 MCAPI
void _tessellateSculkSensorTendrilsInWorld(
250 ::Tessellator& tessellator,
251 ::Block
const& block,
253 uchar tessellationType
256 MCAPI
void _tex1(::Tessellator& tessellator, ::Vec2
const& uv);
259 _trySetFenceGateTexture(::Block
const& block, ::BlockPos
const& p, ::BlockTessellator::FenceGatePieceType type);
261 MCAPI
void appendTessellatedBlock(::Tessellator& tessellator, ::Block
const& block);
263 MCAPI
void clearBlockCache();
265 MCAPI ::AABB
const& getCurrentShape();
267 MCAPI ::mce::Mesh& getMeshForBlock(::Tessellator& tessellator, ::Block
const& block);
269 MCAPI ::mce::Mesh& getMeshForBlockInWorld(
270 ::Tessellator& tessellator,
271 ::Block
const& block,
272 ::BlockPos& blockPos,
273 ::BlockRenderLayer layer,
277 ::LightTexture
const& lightTexture
280 MCAPI
float getWaterHeight(::BlockPos
const& pos, ::Material
const& material, ::BlockPos
const& originalBlockPos);
282 MCAPI
void moveCurrentShape(::Vec3
const& offset);
284 MCAPI
void renderGuiBlock(
285 ::ScreenContext& screenContext,
286 ::Block
const& block,
287 ::BlockGraphics
const& blockGraphics,
288 ::mce::TexturePtr
const& texture,
289 float lightMultiplier,
290 float alphaMultiplier,
291 ::OffscreenCaptureDescription
const& capture
294 MCAPI
bool rotateCommandBlockFaces(::Block
const& block);
296 MCAPI
void setRegion(::BlockSource& region);
298 MCAPI
void tessellateAll(
299 ::Tessellator& tessellator,
300 ::Block
const& block,
302 ::TextureUVCoordinateSet
const& tex
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 tessellateCrystalCluster(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
467 MCAPI
bool tessellateDiodeInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
469 MCAPI
bool tessellateDoorInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
471 MCAPI
bool tessellateDoublePlantInWorld(
472 ::Tessellator& tessellator,
473 ::Block
const& block,
474 ::BlockShape
const blockShape,
476 bool const forceDoubleSided,
478 bool applyAmbientOcclusion,
479 ::BlockTessellator::CrossTextureReverseSideMapping reverseSideMapping,
480 ::BlockTessellator::CrossTextureWidth width
483 MCAPI
bool tessellateDoubleThinFenceInWorld(
484 ::Tessellator& tessellator,
485 ::Block
const& block,
491 tessellateDriedGhastInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& position);
493 MCAPI
bool tessellateDriedKelpBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
495 MCAPI
bool tessellateDustInWorld(::Tessellator& tessellator, ::Block
const& b, ::BlockPos
const& p);
497 MCAPI
void tessellateEast(
498 ::Tessellator& tessellator,
499 ::Block
const& block,
501 ::TextureUVCoordinateSet
const& intex
504 MCAPI
bool tessellateEndGatewayInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
506 MCAPI
bool tessellateEndPortalFrameInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
508 MCAPI
bool tessellateEndPortalInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
511 tessellateEndRodAppended(::Tessellator& tessellator, ::Block
const& block, ::BlockGraphics
const& blockGraphics);
514 tessellateEndRodGui(::Tessellator& tessellator, ::Block
const& block, ::BlockGraphics
const& blockGraphics);
516 MCAPI
bool tessellateEndRodInWorld(::Tessellator& tessellator, ::Block
const& b, ::BlockPos
const& p);
518 MCAPI
bool tessellateEyeblossomInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
520 MCAPI
void tessellateFaceDown(
521 ::Tessellator& tessellator,
522 ::Block
const& block,
524 ::TextureUVCoordinateSet
const& intex
527 MCAPI
void tessellateFaceUp(
528 ::Tessellator& tessellator,
529 ::Block
const& block,
531 ::TextureUVCoordinateSet
const& intex
534 MCAPI
void tessellateFaceWithUVs(
535 ::Tessellator& tessellator,
536 ::Block
const& block,
538 ::TextureUVCoordinateSet
const& tex,
546 MCAPI
bool tessellateFacingBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
548 MCAPI
bool tessellateFenceGateInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
550 MCAPI
bool tessellateFenceInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
552 MCAPI
bool tessellateFireInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos p);
554 MCAPI
bool tessellateFireflyBushInWorld(
555 ::Tessellator& tessellator,
556 ::Block
const& block,
557 ::BlockPos
const& pos,
558 ::BlockGraphics
const& blockGraphics
561 MCAPI
bool tessellateFlowerBedBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
563 MCAPI
bool tessellateFlowerPotInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
565 MCAPI
bool tessellateFrogSpawnInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
568 tessellateGrindstoneBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
570 MCAPI
void tessellateGrindstoneLegInWorld(
571 ::Tessellator& tessellator,
572 ::Block
const& block,
573 ::BlockPos
const& pos,
576 ::Direction::Type attachmentDir
579 MCAPI
bool tessellateHoneyBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
581 MCAPI
bool tessellateHopperInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
584 tessellateHopperInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos,
bool render);
587 tessellateInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos,
bool useCalcWithCache);
589 MCAPI
bool tessellateIndividualCandleInWorld(
590 ::Tessellator& tessellator,
591 ::Block
const& block,
597 MCAPI
bool tessellateIndividualSeaPickleInWorld(
598 ::Tessellator& tessellator,
599 ::Block
const& block,
605 MCAPI
bool tessellateIndividualTurtleEggInWorld(
606 ::Tessellator& tessellator,
607 ::Block
const& block,
614 MCAPI
bool tessellateItemFrameInWorld(
615 ::Tessellator& tessellator,
616 ::Block
const& block,
617 ::BlockPos
const& pos,
618 bool const ignoreLighting
621 MCAPI
bool tessellateKelpInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
623 MCAPI
bool tessellateLadderInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
625 MCAPI
bool tessellateLanternBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
627 MCAPI
bool tessellateLecternBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
629 MCAPI
bool tessellateLeverInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
632 tessellateLightningRodGui(::Tessellator& tessellator, ::Block
const& block, ::BlockGraphics
const& blockGraphics);
634 MCAPI
bool tessellateLightningRodInWorld(::Tessellator& tessellator, ::Block
const& b, ::BlockPos
const& p);
636 MCAPI
bool tessellateLilypadInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
638 MCAPI
bool tessellateLiquidInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
641 tessellateMangrovePropaguleHangingInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
643 MCAPI
bool tessellateMangrovePropaguleInWorld(
644 ::Tessellator& tessellator,
645 ::Block
const& block,
650 MCAPI
bool tessellateMangroveRootInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
652 MCAPI
bool tessellateMultiFaceBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
654 MCAPI
void tessellateNorth(
655 ::Tessellator& tessellator,
656 ::Block
const& block,
658 ::TextureUVCoordinateSet
const& intex
661 MCAPI
bool tessellatePaleMossCarpetInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
663 MCAPI
bool tessellatePistonInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
665 MCAPI
bool tessellatePitcherCropInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
667 MCAPI
bool tessellatePitcherPlantInWorld(
668 ::Tessellator& tessellator,
669 ::Block
const& block,
670 ::BlockShape
const& blockShape,
674 MCAPI
bool tessellatePointedDripstoneInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
676 MCAPI
bool tessellateRailInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
678 MCAPI
bool tessellateRepeaterInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
680 MCAPI
bool tessellateRowInWorld(
681 ::Tessellator& tessellator,
682 ::Block
const& block,
684 bool const forceDoubleSide
687 MCAPI
void tessellateRowTexture(
688 ::Tessellator& tessellator,
689 ::Block
const& block,
691 ::TextureUVCoordinateSet
const& tex,
695 bool const forceDoubleSide
698 MCAPI
void tessellateRowTexture(
699 ::Tessellator& tessellator,
700 ::TextureUVCoordinateSet
const& tex1,
701 ::TextureUVCoordinateSet
const& tex2,
702 ::TextureUVCoordinateSet
const& tex3,
703 ::TextureUVCoordinateSet
const& tex4,
710 tessellateScaffoldingBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
712 MCAPI
void tessellateScaffoldingHorizontalPoleInWorld(
713 ::Tessellator& tessellator,
714 ::Block
const& block,
715 ::TextureUVCoordinateSet
const& side,
716 ::TextureUVCoordinateSet
const& bottom,
717 ::BlockPos
const& blockPos,
719 ::Vec3
const& offset,
720 bool const isSupportPole
723 MCAPI
void tessellateScaffoldingVerticalPoleInWorld(
724 ::Tessellator& tessellator,
725 ::Block
const& block,
726 ::TextureUVCoordinateSet
const& tex,
727 ::BlockPos
const& pos,
731 MCAPI
bool tessellateSculkSensorBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
733 MCAPI
bool tessellateSculkShriekerInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
735 MCAPI
bool tessellateSeaPickleInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
737 MCAPI
bool tessellateSeagrassInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
739 MCAPI
bool tessellateShelfBlockInGui(::Tessellator& tessellator, ::Block
const& block);
741 MCAPI
bool tessellateShelfBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
743 MCAPI
void tessellateSimpleBlockInWorld(
744 ::Tessellator& tessellator,
745 ::Block
const& block,
746 ::BlockPos
const& pos,
747 ::AirAndSimpleBlockBits
const& airAndSimpleBlocks
750 MCAPI
bool tessellateSlimeBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
753 tessellateSmallDripleafBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
755 MCAPI
void tessellateSouth(
756 ::Tessellator& tessellator,
757 ::Block
const& block,
759 ::TextureUVCoordinateSet
const& intex
762 MCAPI
bool tessellateSporeBlossomInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
764 MCAPI
bool tessellateStairsInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
766 MCAPI
bool tessellateStemInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
768 MCAPI
void tessellateStemTexture(
769 ::Tessellator& tessellator,
770 ::TextureUVCoordinateSet
const& tex,
778 tessellateStoneCutterBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
780 MCAPI
bool tessellateStructureVoidInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
783 tessellateSweetBerryBushBlockInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
785 MCAPI
bool tessellateTerracottaInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
787 MCAPI
bool tessellateTopSnowInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
789 MCAPI
void tessellateTorch(
790 ::Tessellator& tessellator,
791 ::Block
const& block,
798 MCAPI
bool tessellateTorchInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
800 MCAPI
bool tessellateTrapdoorInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
802 MCAPI
bool tessellateTreeInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
804 MCAPI
bool tessellateTripwireHookInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
806 MCAPI
bool tessellateTripwireInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
808 MCAPI
bool tessellateTurtleEggInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
810 MCAPI
bool tessellateTwistingVinesInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
812 MCAPI
bool tessellateVaultInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& pos);
814 MCAPI
bool tessellateVineInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
816 MCAPI
bool tessellateWallInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
818 MCAPI
bool tessellateWeepingVinesInWorld(::Tessellator& tessellator, ::Block
const& block, ::BlockPos
const& p);
820 MCAPI
void tessellateWest(
821 ::Tessellator& tessellator,
822 ::Block
const& block,
824 ::TextureUVCoordinateSet
const& intex
827 MCAPI ~BlockTessellator();
833 MCAPI static ::TextureUVCoordinateSet
const& _getMappedTexture(::Block
const& block, uchar face);
835 MCAPI
static bool canRender(::BlockShape blockShape);
841 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