|
| void | eve::graphics::grass::bindAtlasLayout (Shader *shader, const PackedAtlasInfo &info) |
| | Binds atlas layout.
|
| |
| void | eve::graphics::grass::bindLayer (Shader *shader, bool alwaysDark) |
| | Binds layer.
|
| |
| void | eve::graphics::grass::setTime (Shader *shader, float seconds) |
| | Sets the time.
|
| |
| void | eve::graphics::grass::setFrameDuration (Shader *shader, float seconds) |
| | Sets the frame duration.
|
| |
| Shader * | eve::graphics::grass::createShader (Graphics *gfx) |
| | Creates shader.
|
| |
| int | eve::graphics::grass::swayFrame (float time, float frameDuration, uint32_t instanceId, int frameCount=4) |
| | Discrete 4-frame index with a per-instance phase offset.
|
| |
| int | eve::graphics::grass::swayAtlasWidth (int frameW, int frames) |
| | Sway atlas width.
|
| |
| int | eve::graphics::grass::swayAtlasHeight (int frameH) |
| | Sway atlas height.
|
| |
| void | eve::graphics::grass::makeSwayAtlasRGBA (int frameW, int frameH, int frames, std::vector< uint8_t > &rgbaOut) |
| | Procedural 4-frame fallback atlas (horizontal strip). GPU paths should load authored 2x2 PNG masks via packSwayAtlasRGBA / createSwayAtlasFromFiles.
|
| |
| Texture * | eve::graphics::grass::createSwayAtlas (Graphics *gfx, int frameW=64, int frameH=64, int frames=4) |
| | Creates sway atlas.
|
| |
| void | eve::graphics::grass::packSwayAtlasRGBA (const std::vector< std::string > &grassFiles, const std::vector< std::string > &leafFiles, std::vector< uint8_t > &rgbaOut, PackedAtlasInfo &info) |
| | Load white-on-black (or RGBA) 2x2 sway PNGs and pack them into one atlas.
|
| |
| Texture * | eve::graphics::grass::createSwayAtlasFromFiles (Graphics *gfx, const std::vector< std::string > &grassFiles, const std::vector< std::string > &leafFiles, PackedAtlasInfo *infoOut=nullptr) |
| | Creates sway atlas from files.
|
| |
| std::vector< Point > | eve::graphics::grass::sampleHalton (const float *posXYZ, const float *nrmXYZ, int vertexCount, const uint32_t *indices, int indexCount, int count, uint32_t seed=1, float minSlopeDot=0.25f) |
| | Area-weighted Halton samples (deterministic, evenly spread).
|
| |
| std::vector< Point > | eve::graphics::grass::samplePoisson (const float *posXYZ, const float *nrmXYZ, int vertexCount, const uint32_t *indices, int indexCount, const SampleParams ¶ms={}) |
| | Fast Poisson-disk / dart-throwing blue noise on a triangle mesh.
|
| |
| void | eve::graphics::grass::makePlane (float sizeX, float sizeZ, int segX, int segZ, std::vector< float > &posXYZ, std::vector< float > &nrmXYZ, std::vector< uint32_t > &indices) |
| | Unit XZ plane (Y-up) for tests / demos.
|
| |
| glm::vec3 n {0.f, 1.f, 0.f} |
在文件 Grass.cpp 第 63 行定义.
被这些函数引用 eve::animation::MotionRuntime::activeCount(), eve::animation::AnimGraph::addAdditive(), eve::animation::AnimGraph::addBlend(), eve::animation::AnimGraph::addBlendSpace1DPoint(), eve::animation::AnimGraph::addBlendSpace2DPoint(), eve::animation::AnimGraph::addLayer(), eve::scene::Scene::addNodeTagAt(), eve::animation::AnimGraph::addOneShot(), eve::procgen::prototype_detail::addSphere(), eve::procgen::prototype_detail::addTorus(), eve::procgen::TerrainWaterField::advance(), eve::gpuagents::GpuAgentSimulation::aliveCount(), eve::weapon::Weapon::ammoPoolAdd(), eve::cmd::sdk::androidSdkRoot(), eve::ui::UiTweenDriver::animateItemPos(), eve::stylize::StyleChain::apply(), eve::particles::applyConfigDocument(), eve::input_editing::InputMapTarget::applyDomainOperation(), eve::hd2d_editing::Hd2dDocumentTarget::applyDomainOperation(), eve::spritestack_editing::SpriteStackDocumentTarget::applyDomainOperation(), eve::virtualgeometry_editing::VirtualGeometryDocumentTarget::applyDomainOperation(), eve::procgen::applyTerrainLegacyHydraulic(), eve::procgen::applyTerrainThermal(), eve::graphics::fog::FogInteractor::applyToGrid(), eve::scene::applyTree(), eve::sceneloader::SceneLoader::applyTreeDiff(), eve::procgen::urban::approximatePolygon(), eve::tensor::TF::arange(), eve::tensor::onnx_detail::attr(), eve::tensor::onnx_detail::attrs(), eve::tensor::kernels::avgpool2d(), eve::model3d::Model3D::bakeModel(), eve::dev::RenderFlow::bind(), eve::crowd::CrowdField::build(), eve::ui::ScenePanel::build(), eve::decal_editing::DecalGizmoPreviewService::build(), eve::procgen::TerrainRiverMeshBuilder::build(), eve::procgen::TerrainMeshBuilder::build(), eve::cmd::Cmdline::Build(), eve::graphics::grass::buildBillboards(), eve::procgen::TerrainPipeline::buildClimate(), eve::graphics::buildDirectionalCSM(), eve::graphics::buildGgxCubemapMipChain(), eve::procgen::TerrainPipeline::buildHydrology(), eve::hd2d::TileMap3D::buildMesh(), eve::network::NetReader::bytes(), eve::network::NetRpc::call(), eve::map::Fov::Impl::castRayLine(), eve::procgen::urban::centroid(), eve::ui::PcgPhotoModeRanges::clamp(), eve::procgen::urban::closestPointOnBoundary(), eve::scene::Scene::collectFrustumIdsAt(), eve::scene::SceneHost::collectIdsByName(), eve::scene::Scene::collectIdsByTagAt(), eve::scene::SceneHost::collectIdsFrom(), eve::scene::SceneHost::collectIdsVisible(), eve::scene::SceneHost::collectIdsWhere(), eve::graphics::Volumetric::collectSceneLights3D(), eve::graphics::Mesh::computeBounds(), eve::tensor::kernels::concat(), eve::tensor::TF::concatN(), eve::animation::ControlPose::ControlPose(), eve::tensor::kernels::conv1d(), eve::tensor::kernels::conv2d(), eve::graphics::cubemap_prefilter_detail::cosineSample(), eve::animation::AnimClipRegistry::count(), eve::tensor::onnx_detail::count(), eve::inventory::InventorySystem::countItem(), eve::gpgpu::countViewEntities(), eve::particles::ParticleEmitter::createEmitter(), eve::graphics::vulkan::Graphics::debugGpuDrivenCulledDrawCount(), eve::graphics::vulkan::Graphics::debugGpuDrivenVisibleCount(), eve::agent::decodePolicy(), eve::asset::detail::decodeTiffRgba8(), eve::gpgpu::Gpgpu::deform(), eve::graphics::deformVegetation(), eve::sceneloader::SceneLoader::diff(), eve::sceneloader::SceneLoader::diffTree(), eve::graphics::PrimitiveSceneCanvas3D::drawArc(), eve::hexmap::HexNoise::elevationPerturb(), eve::tensor::Func::emitArgMax(), eve::tensor::Func::emitBinary(), eve::tensor::Func::emitCast(), eve::tensor::Func::emitConcat(), eve::tensor::Func::emitConv1d(), eve::tensor::Func::emitConv2d(), eve::tensor::Func::emitEmbedding(), eve::tensor::Func::emitFill(), eve::tensor::Func::emitLayerNorm(), eve::tensor::Func::emitMatMul(), eve::tensor::Func::emitPermute(), eve::tensor::Func::emitPool(), eve::tensor::Func::emitReduce(), eve::tensor::Func::emitReshape(), eve::tensor::Func::emitResize2d(), eve::tensor::Func::emitRMSNorm(), eve::tensor::Func::emitSdpa(), eve::tensor::Func::emitSlice(), eve::tensor::Func::emitSoftmax(), eve::tensor::Func::emitTernary(), eve::tensor::Func::emitUnary(), eve::tensor::Func::emitUnaryScalar(), eve::tensor::Func::ensureNode(), eve::procgen::TerrainPipeline::erodeFluvialDetailed(), eve::procgen::TerrainPipeline::erodeHydraulic(), eve::graphics::VolumeDensityGraph::evaluate(), eve::dev::Debugger::evaluate(), eve::tensor::onnx_detail::execute(), eve::tensor::onnx_detail::executeIndex(), eve::tensor::onnx_detail::executeMisc(), eve::tensor::onnx_detail::executeNeural(), eve::tensor::onnx_detail::executeNumeric(), eve::tensor::onnx_detail::executeQuant(), eve::tensor::onnx_detail::executeQuantLstm(), eve::tensor::onnx_detail::executeShape(), eve::scene::exposePcgBuildConfigBindings(), eve::ui::exposePcgControllerSelectionBindings(), eve::scene::exposePcgGrowthBindings(), eve::ui::exposePcgPhotoModePanelsBindings(), eve::ui::exposePcgPhotoModeRangesBindings(), eve::ui::exposePcgPhotoModeRuntimeUIBindings(), eve::ui::exposePcgPhotoModeValuesBindings(), eve::ui::exposePcgScreenshotSavedNoticeBindings(), eve::ui::exposePcgTooltipBindings(), eve::dev::DevTool::exposeScriptApi(), eve::tensor::TF::eye(), eve::procgen::fillDensityField(), eve::procgen::fillHeightField(), eve::audio::Source::fillPendingFromDecoder(), eve::sceneloader::SceneLoader::fillSceneBounds(), eve::hexmap::HexMeshData::finalize(), eve::scene::SceneHost::findAllByKey(), eve::scene::SceneHost::findAllByName(), eve::scene::SceneHost::findAllBySpace(), eve::scene::SceneHost::findAllByTag(), eve::scene::SceneHost::findAllLinked(), eve::scene::SceneHost::findAllVisible(), eve::scene::SceneHost::findById(), eve::ui::UIHost::findById(), eve::scene::SceneHost::findByKey(), eve::ui::UIHost::findByKey(), eve::stylize::findEffectParameter(), eve::scene::Scene::findIdByName(), eve::scene::Scene::findIdByPath(), eve::scene::SceneHost::findIndexByName(), eve::scene::SceneHost::findIndexByPath(), eve::map::Pathfinder::findPath(), eve::cmd::sdk::findSdkRoot(), eve::ui::flexArrangeSingleLine(), eve::flushPostEcsHooks(), eve::network::TcpSocket::flushSend(), eve::cap::forEach(), eve::cap::forEachUntil(), eve::prof::Profiler::frameMark(), eve::animation::AnimSkin::fromModel(), eve::tensor::wgsl_detail::genConcat(), eve::tensor::glsl_detail::genConcat(), eve::graphics::SkyWispsAsset::generate(), eve::procgen::generateHexTerrainMesh(), eve::graphics::hair::generateOnMesh(), eve::procgen::generateRockMesh(), eve::procgen::urban::generateUrbanMesh(), eve::tensor::glsl_detail::genMatMul(), eve::tensor::wgsl_detail::genMatMul(), eve::animation::Animation::getActiveCount(), eve::animation::AnimGraph::getAdditiveReference(), eve::ui::PcgPhotoModeValues::getBool(), eve::ui::UI::getChecked(), eve::scene::SceneHost::getChildIds(), eve::ui::UI::getColorA(), eve::ui::UI::getColorB(), eve::ui::UI::getColorG(), eve::ui::UI::getColorR(), eve::os::OS::getCPUCacheLineSize(), eve::voxel::VoxelWorld::getDirtyCount(), eve::window::sdl::Window::getDisplayCount(), eve::window::sdl::Window::getDisplayName(), eve::particles::Particles::getEmitterCount(), eve::ui::PcgPhotoModeValues::getFieldType(), eve::ui::PcgPhotoModeValues::getFloat(), eve::json::Value::getFloatArray(), eve::scene::SceneNodeRef::getForward(), eve::thread::Thread::getHardwareConcurrency(), eve::ui::PcgPhotoModeValues::getInt(), eve::json::Value::getIntArray(), eve::map::Map::getLayerCount(), eve::avatar::Avatar::getLive2DBackendName(), eve::scene::Scene::getNodeBoundsAt(), eve::scene::Scene::getNodeLayerAt(), eve::scene::Scene::getNodePositionAt(), eve::scene::Scene::getNodeQuaternionAt(), eve::scene::Scene::getNodeRotationAt(), eve::scene::Scene::getNodeScaleAt(), eve::scene::Scene::getNodeTagsAt(), eve::scene::Scene::getNodeVisibleAt(), eve::scene::Scene::getNodeWorldPositionAt(), eve::scene::Scene::getNodeWorldRotationAt(), eve::scene::Scene::getNodeWorldScaleAt(), eve::i18n::I18n::getPlural(), eve::i18n::I18n::getPluralWithParams(), eve::scene::SceneNodeRef::getPosition(), eve::scene::SceneNodeRef::getPositionX(), eve::scene::SceneNodeRef::getPositionY(), eve::scene::SceneNodeRef::getPositionZ(), eve::os::OS::getProcessorCount(), eve::scene::SceneNodeRef::getRight(), eve::scene::SceneNodeRef::getRotation(), eve::scene::SceneNodeRef::getRotationPitch(), eve::scene::SceneNodeRef::getRotationRoll(), eve::scene::SceneNodeRef::getRotationYaw(), eve::scene::SceneNodeRef::getScale(), eve::scene::SceneNodeRef::getScaleX(), eve::scene::SceneNodeRef::getScaleY(), eve::scene::SceneNodeRef::getScaleZ(), eve::ui::PcgPhotoModeValues::getString(), eve::scene::SceneNodeRef::getUp(), eve::ui::UI::getValue(), eve::ui::PcgPhotoModeValues::getValue(), eve::ui::UI::getValueText(), eve::voxel::VoxelWorld::getVisibleRectCount(), eve::dialogue::Dialogue::getVisibleText(), eve::scene::SceneNodeRef::getWorldMatrix(), eve::scene::SceneNodeRef::getWorldPosition(), eve::scene::SceneNodeRef::getWorldPositionX(), eve::scene::SceneNodeRef::getWorldPositionY(), eve::scene::SceneNodeRef::getWorldPositionZ(), eve::tensor::onnx_detail::gpuMatmul(), eve::tensor::onnx_detail::gpuMatmulResident(), eve::scene::Scene::hasNodeBoundsAt(), eve::scene::Scene::hasNodeTagAt(), eve::hexmap::HexFlags::hasRiverBeginOrEnd(), eve::graphics::cubemap_prefilter_detail::importanceSample(), eve::network::NetReader::init(), eve::gpuagents::SurfaceField::initFlat(), eve::graphics::Mesh::initMorphBase(), eve::graphics::Volumetric::integrateFroxelFromSceneLights(), eve::tensor::onnx_detail::isSupported(), eve::scene::SceneNodeRef::isVisible(), eve::scene::SceneHost::link(), eve::scene::SceneHost::linkCount(), eve::tensor::TF::linspace(), eve::graphics::SkyWispsAsset::load(), eve::building::BuildingRegistry::loadFromJson(), eve::inventory::ItemRegistry::loadFromJson(), eve::rpg::ClassRegistry::loadFromJson(), eve::rpg::EffectRegistry::loadFromJson(), eve::rpg::QuestRegistry::loadFromJson(), eve::rpg::SkillRegistry::loadFromJson(), eve::rpg::TraitRegistry::loadFromJson(), eve::voxel::CubeTypeRegistry::loadFromJson(), eve::avatar::AvatarInstance::loadMorphNamesFromModel(), eve::input_editing::InputMapTarget::loadSnapshot(), eve::sceneloader_editing::SceneImportTarget::loadSnapshot(), eve::dev::Debugger::locals(), eve::scene::Scene::localToWorldAt(), eve::map::Fov::Impl::losHexCube(), eve::graphics::MapFog::makeCloudTexture(), eve::avatar_editing::AvatarDocumentTarget::makeSet(), eve::voxel_editing::VoxelPaletteTarget::makeSet(), eve::tensor::affine::matmul(), eve::tensor::Tensor::matmul(), eve::tensor::kernels::maxpool2d(), eve::ui::measureFlowChildren(), eve::ui::measureNode(), eve::graphics::meshInstanceRangeVisible(), eve::network::NetReader::NetReader(), eve::network::NetRpc::NetRpc(), eve::graphics::webgpu::Graphics::newMeshFromAssimp(), eve::demo::Demo::newPlanetTexture(), eve::sound::Sound::newSoundDataFromDecoder(), eve::animation::Animation::newSpriteSheetFromSequence(), eve::scene::Scene::nodeIdFromSpatialIdAt(), eve::procgen::noisePointFloatAttribute(), eve::rpg::QuestSystem::notify(), eve::rx::Subject< T >::observerCount(), eve::network::NetHost::onDatagram(), eve::tensor::optimizeGraph(), eve::cmd::Cmdline::Package(), eve::gpgpu::packScriptEntityFloatsRange(), eve::gpgpu::packViewComponent(), eve::tensor::onnx_detail::parse(), eve::cmd::sdk::parsePlatform(), eve::avatar::parseVrm(), eve::procgen::NoiseField::perlinNoise(), eve::hexmap::HexNoise::perturb(), eve::scene::Scene::pickRayAt(), eve::procgen::urban::pointAtBoundaryLength(), eve::editor::EditorInspector::pollChangedId(), eve::platform_event::PlatformEvent::pollName(), eve::procgen::urban::polygonIsSimple(), eve::avatar::VrmRuntime::prepare(), eve::asset_import::prepareUnityNativeMesh(), eve::tensor::Graph::product(), eve::network::TcpSocket::queueSend(), eve::model3d::EveFileSystem::read(), eve::crowd::Crowd::Impl::rebuildGrid(), eve::gpuagents::SurfaceCapture::rebuildNormals(), eve::card::Card::registerCardsFromJson(), eve::rpg::EquipmentSystem::registerItemStatsFromJson(), eve::rpg::LootSystem::registerTablesFromJson(), eve::vehicle::Vehicle::registerVehiclesFromJson(), eve::weapon::Weapon::registerWeaponsFromJson(), eve::rpg::TraitSystem::removeBySource(), eve::rpg::TraitSystem::removeByTrait(), eve::scene::Scene::removeNodeTagAt(), eve::map::TileLayer::resize(), eve::map::Fov::Impl::resize(), eve::map::FlowField::resize(), eve::crowd::CrowdField::resize(), eve::tensor::onnx_detail::ByteStorage::resize(), eve::tensor::kernels::resize2d(), eve::gpuagents::ObstacleField::resolve(), eve::virtualgeometry::VirtualGeometryRenderer::resolve(), eve::crowd::Crowd::Impl::resolveOverlapsPass(), eve::decision::DecisionContext::restoreJson(), eve::sensing::SensingWorld::restoreJson(), eve::ui::PcgPhotoModeValues::restoreJson(), eve::rpg::restoreRpgState(), eve::procgen::NoiseField::ridged(), eve::math::Math::ridged2(), eve::math::Math::ridged3(), eve::procgen::NoiseField::ridgedPerlin(), eve::animation::rot6dToQuat(), eve::gpgpu::runViewComponentSystem(), eve::building::StaticMeshSurface::sample(), eve::particles::ParticleGradient::sample(), eve::particles::ParticleCurve::sample(), eve::procgen::urban::sampleBoundary(), eve::graphics::grass::sampleHalton(), eve::graphics::grass::samplePoisson(), eve::graphics::fog::FogDensityField::seedHeightBand(), eve::ui::PcgPhotoModeRanges::select(), eve::ui::PcgPhotoModeValues::selectColor(), eve::network::TcpSocket::send(), eve::network::UdpSocket::send(), eve::network::UdpLink::send(), eve::network::Channel::sendMsg(), eve::network::UdpSocket::sendTo(), eve::network::NetHost::sendTo(), eve::animation::AnimGraph::setAdditiveReference(), eve::animation::AnimGraph::setBoneMask(), eve::ui::PcgPhotoModeValues::setBool(), eve::ui::UIHost::setCheckedById(), eve::ui::UIHost::setClickHandler(), eve::ui::PcgPhotoModeValues::setColor(), eve::ui::UIHost::setEnabledById(), eve::ui::PcgPhotoModeValues::setFloat(), eve::ui::UI::setImageCornerRadius(), eve::ui::UI::setImageNinePatch(), eve::ui::UI::setImageNinePatchFile(), eve::ui::UI::setImageTextureId(), eve::ui::UI::setImageTint(), eve::ui::UI::setImageUv(), eve::procgen::LSystem::setInitialHeading(), eve::ui::PcgPhotoModeValues::setInt(), eve::dev::AiPanel::setMaxEntries(), eve::dev::ConsolePanel::setMaxEntries(), eve::dev::CallGraph::setMaxEvents(), eve::dev::RenderFlow::setMaxEvents(), eve::graphics::vulkan::Graphics::setMesh3DClip(), eve::graphics::vulkan::Graphics::setMesh3DLighting(), eve::scene::Scene::setNodeBoundsAt(), eve::scene::Scene::setNodeLayerAt(), eve::scene::Scene::setNodeLookAtAt(), eve::scene::Scene::setNodePosition(), eve::scene::Scene::setNodeQuaternionAt(), eve::scene::Scene::setNodeRotation(), eve::scene::Scene::setNodeScale(), eve::scene::Scene::setNodeVisible(), eve::scene::SceneNodeRef::setPosition(), eve::animation::AnimGraph::setPosition2D(), eve::ui::PcgPhotoModeRanges::setRange(), eve::scene::SceneNodeRef::setRotation(), eve::scene::SceneNodeRef::setScale(), eve::animation::AnimGraph::setSpeed(), eve::ui::PcgPhotoModeValues::setString(), eve::building::PlacementWorld::setTerrainGidMapJson(), eve::ui::UIHost::setTextById(), eve::ui::UIHost::setTextHandler(), eve::ui::UI::setTextWrap(), eve::ui::UIHost::setToggleHandler(), eve::ui::UIHost::setValueById(), eve::ui::UIHost::setValueHandler(), eve::ui::UIHost::setValueTextById(), eve::scene::SceneNodeRef::setVisible(), eve::ui::UIHost::setVisibleById(), eve::procgen::urban::shapeIrregularity(), eve::procgen::urban::signedArea(), eve::procgen::simplifyGtsMesh(), eve::rx::Observable< T >::skip(), eve::spritestack::sliceModelToLayers(), eve::card::Hand::slotTransform(), eve::decision::DecisionContext::snapshotJson(), eve::fluids::FluidSimulation::spawnDrop(), eve::weather::SnowField::stampFootprint(), eve::weather::SnowField::stampImpact(), eve::gpuagents::LifeNetworkSolver::step(), eve::crowd::Crowd::Impl::stepAgents(), eve::network::NetReader::str(), eve::voxel::VoxelWorld::streamAround(), eve::buildingfx::BuildingFx::sync(), eve::gpuagents::LifeFieldMaterialBinding::syncFrom(), eve::map::Fov::Impl::syncFromLayer(), eve::scene::Scene::syncSpatialIndexAt(), eve::rx::Observable< T >::take(), eve::weather::SnowField::toAlbedoRGBA(), eve::archspace::toMeshArrays(), eve::voxel::Chunk::totalRectCount(), eve::inventory::InventorySystem::transfer(), eve::inventory::InventorySystem::transferSlot(), eve::procgen::urban::triangulatePolygon(), eve::animation::AnimGraph::trigger(), eve::scene::SceneHost::unlink(), eve::scene::SceneHost::unlink(), eve::sceneloader::SceneLoader::unload(), eve::gpgpu::unpackScriptEntityFloatsRange(), eve::scene::Scene::unrootEntityAt(), eve::particles::ParticleLightSystem::update(), eve::card::Hand::update(), eve::avatar::VrmSurface::update(), eve::scene::TransformSystem::updateHost(), eve::inventory::InventorySystem::usedSlotCount(), eve::utf8_byte_offset_for_codepoints(), eve::utf8_codepoint_count(), eve::avatar_editing::AvatarDocumentTarget::validate(), eve::decal_editing::DecalDocumentTarget::validate(), eve::hd2d_editing::Hd2dDocumentTarget::validate(), eve::virtualgeometry::vgReadPixels(), eve::scene::Scene::walkBreadthFirstIds(), eve::scene::worldBoundsOf(), eve::scene::Scene::worldToLocalAt(), eve::ui::UiNodePosSink::write() , 以及 eve::network::NetWriter::writeBytes().