当前位置: 首页>>代码示例>>C++>>正文


C++ ShaderSource::add_macro方法代码示例

本文整理汇总了C++中ShaderSource::add_macro方法的典型用法代码示例。如果您正苦于以下问题:C++ ShaderSource::add_macro方法的具体用法?C++ ShaderSource::add_macro怎么用?C++ ShaderSource::add_macro使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ShaderSource的用法示例。


在下文中一共展示了ShaderSource::add_macro方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: deps

void
UberShaderStreamer<T>::
stream_shader(ShaderSource &dst, const std::string &prefix,
              get_src_type get_src, get_main_name_type get_main_name,
              const StreamVaryingsHelper<T> &stream_varyings_helper,
              const StreamSurroundSrcHelper<T> &stream_surround_src,
              const fastuidraw::reference_counted_ptr<const T> &sh,
              int dependency_depth)
{
  using namespace fastuidraw;

  c_array<const reference_counted_ptr<const T> > deps(sh->dependency_list_shaders());
  c_array<const c_string> dep_names(sh->dependency_list_names());

  FASTUIDRAWassert(deps.size() == dep_names.size());
  dst << "// Have " << deps.size() << " dependencies at depth " << dependency_depth << "\n";
  for (unsigned int i = 0; i < deps.size(); ++i)
    {
      std::string realized_name;
      realized_name = stream_dependency(dst, prefix, i, get_src, get_main_name,
                                        stream_varyings_helper, stream_surround_src,
                                        deps[i], dep_names[i], dependency_depth + 1);
      dst.add_macro(dep_names[i], realized_name.c_str());
    }

  dst.add_macro(get_main_name(sh), prefix.c_str());
  stream_surround_src.pre_source(dst, sh);
  stream_source(dst, prefix, (sh.get()->*get_src)());
  stream_surround_src.post_source(dst);
  dst.remove_macro(get_main_name(sh));

  for (unsigned int i = 0; i < deps.size(); ++i)
    {
      dst.remove_macro(dep_names[i]);
    }
}
开发者ID:01org,项目名称:fastuidraw,代码行数:36,代码来源:uber_shader_builder.cpp


注:本文中的ShaderSource::add_macro方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。