中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 241|回复: 0

请教

[复制链接]
发表于 2018-3-6 18:14:51 | 显示全部楼层 |阅读模式
新手请教这段是什么意思呢,看不懂。。。               

for (auto const & scene_obj : scene_objs)
                {
                        scene_obj->VisibleMark(BO_No);
                }
                if (urt & App3DFramework::URV_NeedFlush)
                {
                        frustum_ = &camera.ViewFrustum();

                        std::vector<uint32_t> visible_list((scene_objs.size() + 31) / 32, 0);
                        for (size_t i = 0; i < scene_objs.size(); ++ i)
                        {
                                if (scene_objs[i]->Visible())
                                {
                                        visible_list[i / 32] |= (1UL << (i & 31));
                                }
                        }
                        size_t seed = 0;
                        HashRange(seed, visible_list.begin(), visible_list.end());
                        HashCombine(seed, camera.OmniDirectionalMode());
                        HashCombine(seed, &camera);

                        auto vmiter = visible_marks_map_.find(seed);
                        if (vmiter == visible_marks_map_.end())
                        {
                                this->ClipScene();

                                auto visible_marks = MakeUniquePtr<std::vector<BoundOverlap>>(scene_objs.size());
                                for (size_t i = 0; i < scene_objs.size(); ++ i)
                                {
                                        (*visible_marks)[i] = scene_objs[i]->VisibleMark();
                                }

                                visible_marks_map_.emplace(seed, std::move(visible_marks));
                        }
                        else
                        {
                                for (size_t i = 0; i < scene_objs.size(); ++ i)
                                {
                                        scene_objs[i]->VisibleMark((*vmiter->second)[i]);
                                }
                        }
                }

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-7-19 12:04 , Processed in 0.036935 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表