@@ -180,7 +180,7 @@ class NerfNetwork : public tcnn::Network<float, T> {
180180 }
181181 m_density_network.reset (tcnn::create_network<T>(local_density_network_config));
182182
183- m_rgb_network_input_width = tcnn::next_multiple (m_dir_encoding->num_encoded_dims () + m_density_network->padded_output_width () - 1 , rgb_alignment);
183+ m_rgb_network_input_width = tcnn::next_multiple (m_dir_encoding->num_encoded_dims () + m_density_network->padded_output_width (), rgb_alignment);
184184
185185 json local_rgb_network_config = rgb_network;
186186 local_rgb_network_config[" n_input_dims" ] = m_rgb_network_input_width;
@@ -509,11 +509,11 @@ class NerfNetwork : public tcnn::Network<float, T> {
509509
510510 uint32_t width (uint32_t layer) const override {
511511 if (layer == 0 ) {
512- return m_forward. density_network_input . m ();
512+ return m_pos_encoding-> num_encoded_dims ();
513513 } else if (layer < m_density_network->num_forward_activations () + 1 ) {
514514 return m_density_network->width (layer - 1 );
515515 } else if (layer == m_density_network->num_forward_activations () + 1 ) {
516- return m_forward. rgb_network_input . m () ;
516+ return m_rgb_network_input_width ;
517517 } else {
518518 return m_rgb_network->width (layer - 2 - m_density_network->num_forward_activations ());
519519 }
@@ -523,17 +523,17 @@ class NerfNetwork : public tcnn::Network<float, T> {
523523 return m_density_network->num_forward_activations () + m_rgb_network->num_forward_activations () + 2 ;
524524 }
525525
526- const T* forward_activations (uint32_t layer) const override {
526+ std::pair< const T*, tcnn::MatrixLayout> forward_activations (uint32_t layer) const override {
527527 if (!m_forward.density_network_input .data ()) {
528528 throw std::runtime_error{" Must call forward() before accessing activations." };
529529 }
530530
531531 if (layer == 0 ) {
532- return m_forward.density_network_input .data ();
532+ return { m_forward.density_network_input .data (), m_pos_encoding-> output_layout ()} ;
533533 } else if (layer < m_density_network->num_forward_activations () + 1 ) {
534534 return m_density_network->forward_activations (layer - 1 );
535535 } else if (layer == m_density_network->num_forward_activations () + 1 ) {
536- return m_forward.rgb_network_input .data ();
536+ return { m_forward.rgb_network_input .data (), m_dir_encoding-> output_layout ()} ;
537537 } else {
538538 return m_rgb_network->forward_activations (layer - 2 - m_density_network->num_forward_activations ());
539539 }
0 commit comments