Method for reducing noise reduction rendering time of Houdini

By disabling the automatic noise reduction function of the rendering node in Houdini and performing noise reduction processing in Houdini after rendering is completed, the problem of too long rendering time in the existing technology is solved, and the effect of reducing rendering time and cost is achieved.

CN120031704APending Publication Date: 2025-05-23SHENZHEN RENDERBUS TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510077953.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-17
Publication Date
2025-05-23

AI Technical Summary

Technical Problem

The prior art automatic noise reduction during the rendering process results in too long rendering time and needs improvement to reduce rendering time and cost.

Method used

By using the hython.exe hrender.py command in Houdini, the automatic noise reduction function of the rendering node is disabled, and after the rendering is completed, the File node, Arnold Denoiser node and Merge node are created in Houdini for noise reduction.

Benefits of technology

It effectively avoids the long-term time-consuming reduction in noise during the rendering process, reduces the time required for rendering, improves rendering efficiency, and reduces the cost of cloud rendering resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120031704A_ABST
    Figure CN120031704A_ABST
Patent Text Reader

Abstract

The invention discloses a method for reducing noise reduction rendering time of Houdini. According to the method, noise reduction is carried out after rendering is finished, so that the defect of long time consumption of noise reduction in the rendering process is effectively avoided, the time required by rendering is effectively reduced, the rendering efficiency is improved, and the cost of renting cloud rendering resources by cloud rendering is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of cloud rendering, and in particular to a method for reducing denoising rendering time in Houdini. Background Art

[0002] Checking the denoising switch will automatically enable denoising during the rendering process, which will result in a long rendering time before the denoised result is obtained.

[0003] Therefore, the prior art has defects and needs to be improved. Summary of the invention

[0004] The technical problem to be solved by the present invention is to provide a method for reducing the denoising rendering time in Houdini, thereby reducing the time required for rendering and reducing the cost.

[0005] The technical solution of the present invention is as follows: a method for reducing denoising rendering time in Houdini is provided, comprising the following steps:

[0006] S1: Use Houdini's hython program to perform rendering, the command is hython.exe hrender.py;

[0007] S2: In hredner.py, use Houdini's built-in API hou to obtain and check the nodes that need to be rendered. The command is hou.node(' / obj / ropnet1 / arnold1');

[0008] S3: Use Houdini's built-in API to set the ar_denoise attribute of the rendered node to False. The command is node.parm("ar_denoise").set(False), so that denoising will not be performed automatically during the rendering process.

[0009] S4: After the rendering is completed, continue to operate directly in Houdini without exiting the Houdini software; create an independent File node for each output image, and create an arnold_denoiser node for each File node to reduce noise, and then create a Merge node to output the denoised image.

[0010] Furthermore, using the hython.exe hrender.py command in Houdini software is to execute an external Python script in the Houdini environment; hython.exe is a command line tool provided by Houdini for executing Python scripts; the following are the steps to use the hython.exe hrender.py command in Houdini:

[0011] S11: Make sure Houdini environment variables are set correctly; in order for hython.exe to be recognized in the command line, make sure that Houdini's installation path has been added to the system's environment variables, usually in the bin folder under Houdini's installation directory;

[0012] S12: Write a Python script; Write a Python script hrender.py, which contains the operations performed in Houdini;

[0013] S13: Execute the script in the command line: Open the command line tool, then switch to the directory where the Python script is located, and use the hython.exe hrender.py command to execute hrender.py; the hython.exe hrender.py command will start Houdini's Python interpreter and run the code in the hrender.py script;

[0014] S14: Script execution: The code in the script will be executed in the Houdini environment, operating Houdini nodes and parameters to achieve automated tasks.

[0015] It should be noted that hython.exe can only be used in the Houdini environment. It depends on Houdini's Python library and environment settings. If you try to use this command in a non-Houdini environment, you may encounter an error that hython.exe cannot be found. In addition, you need to ensure that the Python script complies with Houdini's Python API so that Houdini-related operations can be performed correctly.

[0016] Furthermore, in step S2, the specific steps are:

[0017] S21: Import Houdini's built-in API; import Houdini's Python module hou, which provides an interface for interacting with Houdini;

[0018] S22: Get the node under the current working directory; use hou.pwd() to get the node under the current working directory, which is usually the node being operated;

[0019] S23: Check the node type; determine whether the node is a rendering node that needs to be operated;

[0020] S24: Obtain and check node parameters;

[0021] S25: Verify whether the file name complies with the naming specification; check whether the file name complies with the requirements or naming specifications by writing logic.

[0022] Furthermore, in step S3, specifically:

[0023] S31: Import Houdini's built-in API; specifically, import Houdini's Python module hou.

[0024] S32: Get the node under the current working directory; use hou.pwd() to get the node under the current working directory, which is usually the node being operated;

[0025] S33: Check the node type; determine whether the node is a rendering node that needs to be operated;

[0026] S34: Set the ar_denoise attribute; use the parm() method to get the ar_denoise parameter, and then use the set() method to set its value to False.

[0027] Furthermore, in step S4, it is implemented through a script; the script traverses all OBJ nodes in the current working directory, creates a File node and an Arnold Denoiser node for each OBJ node; then, connects the output of the OBJ node to the File node, connects the output of the File node to the Arnold Denoiser node, and finally creates a Merge node to merge the denoised image.

[0028] Furthermore, Houdini's performance monitor is used to display real-time system resource usage during rendering; this includes the following steps:

[0029] S51: Open the performance monitor; in the top menu of the Houdini interface, find the "Window" menu; select "Performance Monitor" in the drop-down menu or use the shortcut key "Shift+F5" to open the performance monitor window;

[0030] S52: Configure the performance monitor. After the performance monitor window is opened, you can see multiple tabs, including "System", "Memory", and "Network". In the "System" tab, you can monitor the CPU and memory usage. You can choose to monitor the resource usage of a specific process or the entire system.

[0031] S53: Start rendering; Before starting rendering, make sure the Performance Monitor is open and configured; Then, start rendering by clicking the "Render" option in the "Render" menu or using the shortcut keys "Ctrl+R" (Windows) or "Cmd+R" (Mac);

[0032] S54: Monitor the rendering process; after rendering starts, the performance monitor will update the resource usage in real time, observe the peak usage of CPU and memory, and any abnormalities in the rendering process;

[0033] S55: Analyze the results; after rendering is complete, check the data in the performance monitor to analyze the resource usage during the rendering process; if you find that the CPU or memory usage is abnormally high, you need to optimize the rendering settings or scene;

[0034] S56: Optimize rendering settings; adjust rendering settings based on feedback from the performance monitor to improve rendering efficiency;

[0035] S57: Save performance data; if necessary, save the data of the performance monitor for subsequent analysis.

[0036] By adopting the above scheme, the present invention provides a method for reducing denoising rendering time in Houdini, which effectively avoids the problem of long denoising time during the rendering process by performing denoising after rendering is completed, effectively reduces the time required for rendering, improves rendering efficiency, and reduces the cost of renting cloud rendering resources for cloud rendering. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 The figure is a flow chart of the method of the present invention. DETAILED DESCRIPTION

[0038] The present invention is described in detail below in conjunction with the accompanying drawings and specific embodiments.

[0039] See also Figure 1 The present invention provides a method for reducing denoising rendering time in Houdini, comprising the following steps:

[0040] S1: Use Houdini's hython program to perform rendering, the command is hython.exe hrender.py;

[0041] S2: In hredner.py, use Houdini's built-in API hou to obtain and check the nodes that need to be rendered. The command is hou.node(' / obj / ropnet1 / arnold1');

[0042] S3: Use Houdini's built-in API to set the ar_denoise attribute of the rendered node to False. The command is node.parm("ar_denoise").set(False), so that denoising will not be performed automatically during the rendering process.

[0043] S4: After the rendering is completed, continue to operate directly in Houdini without exiting the Houdini software; create an independent File node for each output image, and create an arnold_denoiser node for each File node to reduce noise, and then create a Merge node to output the denoised image.

[0044] In this embodiment, the hython.exe hrender.py command is used in the Houdini software to actually execute an external Python script in the Houdini environment; hython.exe is a command line tool provided by Houdini for executing Python scripts; the following are the steps for using the hython.exe hrender.py command in Houdini:

[0045] S11: Make sure Houdini environment variables are set correctly; in order for hython.exe to be recognized in the command line, make sure that Houdini's installation path has been added to the system's environment variables, usually in the bin folder under Houdini's installation directory;

[0046] S12: Write Python scripts; Write a Python script hrender.py, which contains the operations performed in Houdini, such as creating nodes, setting parameters, etc.

[0047] S13: Execute the script in the command line: Open the command line tool (such as cmd), then switch to the directory where the Python script is located, and use the hython.exe hrender.py command to execute hrender.py; the hython.exe hrender.py command will start Houdini's Python interpreter and run the code in the hrender.py script;

[0048] S14: Script execution: The code in the script will be executed in the Houdini environment, operating Houdini nodes and parameters to achieve automated tasks.

[0049] It should be noted that hython.exe can only be used in the Houdini environment. It depends on Houdini's Python library and environment settings. If you try to use this command in a non-Houdini environment, you may encounter an error that hython.exe cannot be found. In addition, you need to ensure that the Python script complies with Houdini's Python API so that Houdini-related operations can be performed correctly.

[0050] In this embodiment, in step S2, the specific steps are:

[0051] S21: Import Houdini's built-in API; import Houdini's Python module hou, which provides an interface for interacting with Houdini;

[0052] S22: Get the nodes under the current working directory; use hou.pwd() to get the nodes under the current working directory (ProcedureWork Directory), which is usually the node being operated;

[0053] S23: Check the node type; determine whether the node is a rendering node that needs to be operated; for example, the node that needs to be checked is a Mantra rendering node;

[0054] S24: Get and check node parameters; get specific parameters, such as rendering settings, and check them. For example, check the rendered file name parameters;

[0055] S25: Verify whether the file name complies with the naming specification; check whether the file name complies with the requirements or naming specifications by writing logic.

[0056] Complete sample script; Integrate the above steps S21-S25 into one script to create a simple Python script to check and obtain node information;

[0057]

[0058] In this embodiment, in step S3, specifically:

[0059] S31: Import Houdini's built-in API; specifically, import Houdini's Python module hou.

[0060] S32: Get the node under the current working directory; use hou.pwd() to get the node under the current working directory (ProcedureWork Directory), which is usually the node being operated;

[0061] S33: Check the node type; determine whether the node is a rendering node that needs to be operated; for example, the node that needs to be checked is a Mantra or Redshift rendering node;

[0062] S34: Set the ar_denoise attribute; use the parm() method to get the ar_denoise parameter, and then use the set() method to set its value to False.

[0063] Complete example script; Combining the above S31-S34 steps into one script, you can create a simple Python script that sets the ar_denoise attribute;

[0064]

[0065] This script will check if the node in the current working directory is a Mantra or Redshift render node and set its ar_denoise parameter to False. If the node does not have an ar_denoise parameter or the current node is not a render node, the script will print the corresponding information. Please adjust the node type and parameter name according to your specific needs.

[0066] In this embodiment, in step S4, it is implemented by a script; the script traverses all OBJ nodes in the current working directory, creates a File node and an Arnold Denoiser node for each OBJ node; then, the output of the OBJ node is connected to the File node, the output of the File node is connected to the Arnold Denoiser node, and finally a Merge node is created to merge the denoised images; the script is:

[0067]

[0068]

[0069] This script assumes that you already have an OBJ node and that you want to create a separate File node and Arnold Denoiser node for each OBJ node. If your needs are different, you may need to adjust the script to your specific situation. In addition, the specific parameters of the Arnold Denoiser node may need to be adjusted according to your specific needs.

[0070] In this example, Houdini's performance monitor is used to display the real-time system resource usage during rendering. In Houdini, the performance monitor is a very useful tool that can help you monitor the system resource usage during the rendering process, including the CPU and memory usage. The specific steps include:

[0071] S51: Open the performance monitor; in the top menu of the Houdini interface, find the "Window" menu; select "Performance Monitor" in the drop-down menu or use the shortcut key "Shift+F5" to open the performance monitor window;

[0072] S52: Configure the performance monitor. After the performance monitor window is opened, you can see multiple tabs, including "System", "Memory", and "Network". In the "System" tab, you can monitor the CPU and memory usage. You can choose to monitor the resource usage of a specific process or the entire system.

[0073] S53: Start rendering; Before starting rendering, make sure the Performance Monitor is open and configured; Then, start rendering by clicking the "Render" option in the "Render" menu or using the shortcut keys "Ctrl+R" (Windows) or "Cmd+R" (Mac);

[0074] S54: Monitor the rendering process; after rendering starts, the performance monitor will update the resource usage in real time, observe the peak usage of CPU and memory, and any abnormalities in the rendering process;

[0075] S55: Analyze the results; after rendering is complete, check the data in the performance monitor to analyze the resource usage during the rendering process; if you find that the CPU or memory usage is abnormally high, you need to optimize the rendering settings or scene;

[0076] S56: Optimize rendering settings; Based on the feedback from the performance monitor, adjust rendering settings, such as reducing the sampling rate, optimizing material settings, or adjusting rendering resolution, to improve rendering efficiency.

[0077] S57: Save performance data; if necessary, save the performance monitor data for subsequent analysis. In the performance monitor window, there is usually a "Save" button or option that allows the monitoring data to be exported to a file.

[0078] By using Houdini's performance monitor, you can better understand the resource consumption during the rendering process and optimize it accordingly to improve rendering efficiency and speed.

[0079] In summary, the present invention provides a method for reducing denoising rendering time in Houdini, which effectively avoids the time-consuming denoising during the rendering process by performing denoising after the rendering is completed, effectively reduces the time required for rendering, improves rendering efficiency, and reduces the cost of renting cloud rendering resources for cloud rendering.

[0080] The above are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for reducing denoising rendering time in Houdini, characterized in that: The following steps are involved: S1: Use Houdini's hython program to perform rendering, the command is hython.exe hrender.py; S2: In hredner.py, use Houdini's built-in API hou to obtain and check the nodes that need to be rendered. The command is hou.node(' / obj / ropnet1 / arnold1'); S3: Use Houdini's built-in API to set the ar_denoise attribute of the rendered node to False. The command is node.parm("ar_denoise").set(False), so that denoising will not be performed automatically during the rendering process. S4: After the rendering is completed, continue to operate directly in Houdini without exiting the Houdini software; create an independent File node for each output image, and create an arnold_denoiser node for each File node to reduce noise, and then create a Merge node to output the denoised image.

2. The method for reducing denoising rendering time in Houdini according to claim 1, characterized in that: Using the hython.exe hrender.py command in Houdini software is to execute an external Python script in the Houdini environment; hython.exe is a command line tool provided by Houdini for executing Python scripts; the following are the steps to use the hython.exe hrender.py command in Houdini: S11: Make sure Houdini environment variables are set correctly; in order for hython.exe to be recognized in the command line, make sure that Houdini's installation path has been added to the system's environment variables, usually in the bin folder under Houdini's installation directory; S12: Write a Python script; Write a Python script hrender.py, which contains the operations performed in Houdini; S13: Execute the script in the command line: Open the command line tool, then switch to the directory where the Python script is located, and use the hython.exe hrender.py command to execute hrender.py; the hython.exe hrender.py command will start Houdini's Python interpreter and run the code in the hrender.py script; S14: Script execution: The code in the script will be executed in the Houdini environment, operating Houdini nodes and parameters to achieve automated tasks.

3. The method for reducing denoising rendering time in Houdini according to claim 1, characterized in that: In step S2, the specific steps are: S21: Import Houdini's built-in API; import Houdini's Python module hou, which provides an interface for interacting with Houdini; S22: Get the node under the current working directory; use hou.pwd() to get the node under the current working directory, which is usually the node being operated; S23: Check the node type; determine whether the node is a rendering node that needs to be operated; S24: Obtain and check node parameters; S25: Verify whether the file name complies with the naming specification; check whether the file name complies with the requirements or naming specifications by writing logic.

4. The method for reducing denoising rendering time in Houdini according to claim 1, characterized in that: In step S3, specifically: S31: Import Houdini's built-in API; specifically, import Houdini's Python module hou; S32: Get the node under the current working directory; use hou.pwd() to get the node under the current working directory, which is usually the node being operated; S33: Check the node type; determine whether the node is a rendering node that needs to be operated; S34: Set the ar_denoise attribute; use the parm() method to get the ar_denoise parameter, and then use the set() method to set its value to False.

5. The method for reducing denoising rendering time in Houdini according to claim 1, characterized in that: In step S4, this is achieved through a script; the script traverses all OBJ nodes in the current working directory and creates a File node and an Arnold Denoiser node for each OBJ node; Then, connect the output of the OBJ node to a File node, connect the output of the File node to an Arnold Denoiser node, and finally create a Merge node to merge the denoised images.

6. The method for reducing denoising rendering time in Houdini according to claim 1, characterized in that: Use Houdini's Performance Monitor to display real-time system resource usage while rendering; this involves the following steps: S51: Open the performance monitor; in the top menu of the Houdini interface, find the "Window" menu; select "Performance Monitor" in the drop-down menu or use the shortcut key "Shift+F5" to open the performance monitor window; S52: Configure the performance monitor. After the performance monitor window is opened, you can see multiple tabs, including "System", "Memory", and "Network". In the "System" tab, you can monitor the CPU and memory usage. You can choose to monitor the resource usage of a specific process or the entire system. S53: Start rendering; Before starting rendering, make sure the Performance Monitor is open and configured; Then, start rendering by clicking the "Render" option in the "Render" menu or using the shortcut "Ctrl+R" (Windows) or "Cmd+R" (Mac); S54: Monitor the rendering process; after rendering starts, the performance monitor will update the resource usage in real time, observe the peak usage of CPU and memory, and any abnormalities in the rendering process; S55: Analyze the results; after rendering is complete, check the data in the performance monitor to analyze the resource usage during the rendering process; if you find that the CPU or memory usage is abnormally high, you need to optimize the rendering settings or scene; S56: Optimize rendering settings; adjust rendering settings based on feedback from the performance monitor to improve rendering efficiency; S57: Save performance data; save the data of the performance monitor for subsequent analysis.