@@ -82,9 +82,7 @@ CompilationResult generate_shader(
8282
8383 expanded_graph.find_dependencies (to_span (terminal_nodes), order);
8484
85- StdStringStream main_ss;
86- StdStringStream lib_ss;
87- CodeGenHelper codegen (main_ss, lib_ss);
85+ CodeGenHelper codegen;
8886
8987 codegen.add (" void generate(vec3 pos" );
9088
@@ -107,7 +105,8 @@ CompilationResult generate_shader(
107105 outputs.push_back (ShaderOutput{ ShaderOutput::TYPE_TYPE });
108106 break ;
109107 default :
110- ZN_PRINT_WARNING (format (" Output type {} is not supported yet in shader generator." , node_type.name )
108+ ZN_PRINT_WARNING (
109+ format (" Output type {} is not supported yet in shader generator." , node_type.name )
111110 );
112111 break ;
113112 }
@@ -152,8 +151,7 @@ CompilationResult generate_shader(
152151 case VoxelGraphFunction::NODE_CONSTANT: {
153152 ZN_ASSERT (node.outputs .size () == 1 );
154153 const ProgramGraph::PortLocation output_port{ node_id, 0 };
155- StdString name;
156- codegen.generate_var_name (name);
154+ const StdString name = codegen.generate_var_name ();
157155 port_to_var.insert ({ output_port, name });
158156 ZN_ASSERT (node.params .size () == 1 );
159157 codegen.add_format (" float {} = {};\n " , name, float (node.params [0 ]));
@@ -223,15 +221,14 @@ CompilationResult generate_shader(
223221 // No incoming connections to this input. Make up a variable so following code can stay the same.
224222 // It will only be used for this node.
225223 StdString &var_name = unconnected_input_var_names[port_index];
226- codegen.generate_var_name (var_name );
224+ var_name = codegen.generate_var_name ();
227225 input_names[port_index] = var_name.c_str ();
228226 codegen.add_format (" float {} = {};\n " , var_name, float (node.default_inputs [port_index]));
229227 }
230228 }
231229
232230 for (unsigned int port_index = 0 ; port_index < node.outputs .size (); ++port_index) {
233- StdString var_name;
234- codegen.generate_var_name (var_name);
231+ const StdString var_name = codegen.generate_var_name ();
235232 auto p = port_to_var.insert ({ { node_id, port_index }, var_name });
236233 ZN_ASSERT (p.second ); // Conflict with an existing port?
237234 output_names[port_index] = p.first ->second .c_str ();
@@ -265,7 +262,7 @@ CompilationResult generate_shader(
265262 codegen.dedent ();
266263 codegen.add (" }\n " );
267264
268- codegen.print (source_code );
265+ source_code. s = codegen.print ();
269266
270267 CompilationResult result;
271268 result.success = true ;
0 commit comments