Latest news
Tips & GuidesV-Ray

V-Ray SDK Guide to Bitmap Filtering and Texture Baking

Chaos’s V-Ray SDK documentation describes features for bitmap filtering and texture baking. This guide covers color space and filter selection alongside bake parameters.

Material samples arranged on a worktable in an architectural visualization studioAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. BitmapBuffer provides texture files for use with the TexBitmap plugin.
  2. The `filter_type` options include mip-map, summed area table, elliptical, and sharp mip-map filtering.
  3. The `transfer_function` parameter must be set for bitmap filtering to work correctly.
  4. BakeView provides options for UV ranges, ray offsets, and projection baking.

As of 7 October 2026, Chaos’s V-Ray SDK documentation lists the parameters available for filtering bitmap textures and baking textures with BakeView. This guide is intended for technical artists and developers working with SDK features, rather than interface menus. The documentation does not specify which V-Ray software version these features apply to, so no particular version compatibility should be assumed here. The aim is to distinguish what the parameters do and set up texture and bake workflows more deliberately.

1. Choose a filtering type for bitmap textures

BitmapBuffer provides bitmap data from a file to the TexBitmap texture plugin. The filtering option is set with the filter_type parameter. The documentation defines the options using numeric values, so it’s important to check which method each number represents when integrating the SDK.

SettingRecommended valueEffect
filter_type-1Nearest-neighbor filtering
filter_type0No filtering
filter_type1Mip-map filtering
filter_type2Summed area table filtering
filter_type3Elliptical filtering
filter_type4Legacy option; the documentation says not to use it
filter_type5Sharp mip-map filtering
  1. First, choose a filtering method suitable for the texture’s use, then confirm that the filter_type value matches your choice. For example, 1 is mip-map filtering, while 5 is sharp mip-map filtering. They are not the same setting.

  2. Consider 0 when you don’t want filtering, and -1 when you need nearest-neighbor behavior. The documentation defines these options but does not recommend one ideal value for every scene or texture type.

  3. Don’t use the value 4 in a new setup. The SDK documentation marks this option as deprecated.

  4. filter_blur is also listed as a BitmapBuffer property, but the supplied documentation does not give a recommended value or explain its behavior. Rather than assuming a fixed blur value, check the documentation for the implementation you’re using.

The effect of filtering on the image isn’t determined by this numeric choice alone. Color transfer and color space information can also affect how the bitmap is handled. So don’t consider filter parameters separately from color management.

2. Set the transfer function and color space together

In BitmapBuffer, transfer_function specifies the texture’s transfer function: 0 means linear, 1 means gamma corrected, 2 means sRGB, and 3 means auto. The documentation also gives an important warning: if transfer_function isn’t set, texture filtering may not work correctly. This field should therefore be explicitly considered when choosing a filter type.

  1. Determine the appropriate transfer function for the texture source and set transfer_function accordingly. The documentation clearly lists the option names and their numeric values, but doesn’t provide a general rule for which value to use with each file type.

  2. Treat rgb_color_space as the texture’s linear RGB color space. The default is specified as raw, which means no conversion is performed.

  3. Built-in color space names include lin_srgb and acescg. The documentation describes lin_srgb as the linear RGB color space for sRGB. If an OCIO environment variable is defined or the ocio_config_file parameter is set in SettingsUnitsInfo, other color space names available in the relevant OCIO configuration can also be used.

  4. Account for the order of operations: according to the documentation, color space conversion happens after the transfer function is applied. Leaving the two parameters incompatible can therefore compromise the expected color-processing result.

These details are especially important in SDK-based workflows that use textures from different sources in the same scene. However, the documentation doesn’t recommend a color space or transfer function value for a particular scene; the choice should be validated against the source texture and the OCIO configuration used in the project.

3. Define the bake scope with BakeView

The documentation describes BakeView as the plugin used instead of RenderView during texture baking. The bake target is specified with bake_node, while the target objects for projection baking are set through target_nodes. UV generation can be connected with bake_uvwgen; the u_min, v_min, u_max, and v_max fields define the bounds of the UV range to bake.

  1. Specify which object will be baked and the projection targets. When enabling projection baking, projection_baking uses 0 for a normal bake and 1 for a projection bake.

  2. Connect a UV generator to BakeView. To place multiple objects in a single image, you can use mapped_bake_nodes and the UV generators corresponding to each object. Alternatively, the same UV generator can be assigned to all nodes through bake_uvwgen.

  3. If you’re defining bake regions individually, note that mapped_x0, mapped_y0, mapped_x1, and mapped_y1 specify the output region for each object. The mapped_bake_nodes_auto property is available for automatic region placement; the documentation says it bakes the nodes into a single image without defining regions.

  4. Control ray behavior. max_depth causes geometry farther away than this distance along the ray to be ignored; when the value is 0, no geometry is excluded for this reason. ray_offset specifies how far the ray’s starting point is shifted along the normal. The documentation doesn’t recommend a general ideal value for these fields.

  5. Choose the normal type and bake direction to suit your needs. When normal is 0, a smooth normal is used; when it’s 1, a geometry normal is used. For from_camera, 0 means reflections and similar shading from rays along the surface normal, while 1 means baking with rays emitted from the camera. Clarify the intended bake method before changing these options.

Common mistakes

The most important mistake is choosing a filter but forgetting to set transfer_function; the SDK documentation explicitly says filtering may not work correctly in that case. Another is misreading the numeric value for filter_type or choosing the 4 option, which is marked as no longer in use.

For baking, remember that setting max_depth to a non-zero value can affect distant geometry. Also, when using mapped_bake_nodes, make sure the corresponding UV generator for each object and the output region logic are set up consistently. The documentation provides SDK parameters, but no menu path, version number, or ready-made quality setting for 3ds Max or another application.

Impact on architectural and visualization workflows

These parameters matter to teams automating texture loading and baking through the V-Ray SDK. Technical artists developing architectural visualization tools can explicitly define bitmap color space and transfer information, and manage bake scope and UV regions for scene assets at the code level. For architecture and interior design teams, the benefit is less about a new visual feature and more about the potential to make asset preparation more controllable.

Hardware requirements, licensing terms, and specific V-Ray versions aren’t covered in these sources. Before moving to production, verify the SDK version’s compatibility, license coverage, and the project’s color management configuration. The listed features should not be treated as a guarantee of automatic quality or speed improvements.

Sources

2 sources
D
docs.chaos.comdocs.chaos.com/vray_app_sdk/doc/csharp/namespace_v_ray_1_1_plugins.html
Summary
D
docs.chaos.comdocs.chaos.com/vray_app_sdk/doc/nodejs_plugins/index.html
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

For architecture firms and visualization teams in Turkey, the practical value of this documentation isn’t that it provides a ready-made render setting, but that it makes it possible to define texture and bake steps explicitly through the SDK. In repetitive asset-preparation workflows in particular, correctly matching parameters can help reduce incorrect color interpretation and confusion about bake scope.

However, there isn’t enough information here to make decisions about hardware, licensing, or application versions. Before adding this to a production pipeline, the best approach is to verify the V-Ray SDK version in use, test `transfer_function` alongside the color space, and check ray settings such as `max_depth` in a small test scene. It’s also important not to copy default values that aren’t documented.

Frequently asked questions

What is BitmapBuffer used for in the V-Ray SDK?

BitmapBuffer provides bitmap data from a file for use with the TexBitmap texture plugin.

What values are available for `filter_type` in bitmap filtering?

The documentation lists `-1` for nearest-neighbor, `0` for no filtering, `1` for mip-map, `2` for summed area table, `3` for elliptical, and `5` for sharp mip-map filtering. `4` is marked as a legacy option that should not be used.

How do you choose projection baking with BakeView?

Set `projection_baking` to `0` for a normal bake or `1` for a projection bake. BakeView also provides properties for target nodes and UV generators.

Comments and the forum are in Turkish.Join the discussion
+

Related news