Archiv der Kategorie: Rendering

Fangen wir mit Mental Ray® an und schauen dann mal weiter…

mr shader – zusätzliche Pfade einrichten

Benutzerdefinierten Shader-Pfad einrichten

Nach der Installation einer neuen 3Ds Max Installation müssen zwei „rayrc“ Files editiert werden, damit mental ray später neue shader findet.

Unter „C:\Pfad zu 3Ds Max\NVIDIA\Satellite“ muss das File „rayrc“ mit einem Text-Editor geöffnet werden und an die bestehenden Pfade der neue Pfad (wenn Netzwerkpfad, dann UNC (\\Computername), kein Netzlaufwerk Buchstabe):

;D:\mrUserShaders\shaders bzw. ;\\Computername\mrUserShaders\shaders

angehängt werden. Der komplette Text muss dann wie folgen aussehen:

registry „{_MI_REG_LIBRARY}“ value „..\shaders_standard\mentalray\shaders;..\shaders_3rdparty\mentalray\shaders;..\shaders_autoload\mentalray\shaders;\\Computername\mrUserShaders\shaders“ end registry

Unter „C:\Pfad zu 3Ds Max\NVIDIA“ befindet sich auch noch ein „rayrc“ File welches editiert werden muss. Hier müssen am Ende der Datei diese Zeilen angehängt werden:

# extra shader path

registry „{_MI_REG_INCLUDE}“ value „\\Computername\mrUserShaders\include“ end registry
registry „{_MI_REG_LIBRARY}“ value „\\Computername\mrUserShaders\shaders“ end registry
$include „\\Computername\mrUserShaders\mrExtraShaders.mi“
$lookup „{_EXTRA_SHADER_PATH}“

Die Datei „\\Computername\mrUserShaders\mrExtraShaders.mi“ muss natürlich angelegt werden und sollte in etwas diesen Inhalt haben:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#*****************************************************************************
# Copyright 2005 by Autodesk
# 
#*****************************************************************************
# Author:	Daniel Levesque
# Created:	05 April 2004
# modified:     16 January 2014 (Jonathan Baecker)
# Purpose:	Main file for including all extra shader definitions.
#****************************************************************************/
 
registry "{_EXTRA_SHADER_PATH}"
 
	# Add "link" and "mi" statements here, to load your shaders.
 
	# Example:
	#link "base.dll"
	#mi "base.mi"
 
end registry

 

Neue Shader und Phenomenons

Neue Shader und Phenomons können jetzt nach:

\\Computername\mrUserShaders

kopiert werden. Wurden die *.dll bzw. *.mi Dateien in die entsprechenden Ordner kopiert müssen diese zuletzt noch verlinkt werden. Das geschieht in der Datei

\\Computername\mrUserShaders\mrExtraShaders.mi“

Auch diese Datei kann mit einem Text-Editor geöffnet werden. Dort wird die *.dll Datei mit „link“ und die *.mi mit mi deklariert. Z.B.:

link „shader.dll“
mi „shader.mi“

Die korrekte Stelle für diese Einträge befindet sich zwischen:

registry „{_EXTRA_SHADER_PATH}“

und:

end registry

Unified Sampling in 3ds max 2014 / mental ray

Für unseren Firmenblog hatte ich vor kurzem einen Artikel geschrieben über das Unified Sampling. Zu finden ist der Artikel unter:

http://animationsandmore.wordpress.com/2013/09/23/unified-sampling/

Eine etwas ausführlichere Erklärung von einem anderen Autor, in Englisch, gibt es auch noch hier:

http://elementalray.wordpress.com/2011/11/30/unified-sampling-visually-for-the-artist/

GUI für user_ibl_rect

In 3ds Max 2014 (früher vielleicht auch schon), läuft der user_ibl_rect shader eigentlich recht gut. Um ihn zu verwenden muss er in dem „standard.mi“ file verlinkt werden.

Hier noch eine passende GUI dafür:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
   gui "gui_user_ibl_rect" {
        control "Global"  "Global" (
            "uiName"      "User IBL Rectangle"
        )
        control "texture" "color texture" (
			"uiName" "HDR Texture"
			)
        control "samples" "integer" (
			"uiName" "Samples",
			"value" 0,
			"nonConnectable"
			)
        control "color" "color" (
			"uiName" "Color",
			"value" 1 1 1
			)
        control "intensity" "scalar" (
			"uiName" "Intensity",
			"value" 1.0
			)
		control "shadow_mode" "integer" (
			"uiName" "Shadow Mode",
			"enum",
			"value" "0 no shadow, 1 opaque, 2 transparent",
			"range"  0 2,
			"nonConnectable"
			)
		control "cone" "scalar" (
			"uiName" "Cone",
			"value" 90.0
			)	
		control "falloff" "scalar" (
			"uiName" "Falloff",
			"value" 2.0
			)
		control "angular_falloff" "scalar" (
			"uiName" "Angular Falloff",
			"value" 1.0
			)
		control "swap_uv" "boolean" (
			"uiName" "Swap UV",
			"nonConnectable"
			)
    }

Vielleicht zu dem Thema die Tage noch mehr.

imf_disp konfigurieren

Findet das Tool imf_disp (von NVIDIA/mental images), welches mit dem Renderer mental ray geliefert wird, öfters Verwendung, kann man es recht komfortabel einrichten.
Wenn das Tool als Standard- Viewer diverser Formate eingerichtet ist, erhält man einen Eintrag in der Registry. Z.B. unter:

1
HKEY_CLASSES_ROOT\Applications\imf_disp.exe\shell\open\command\

Dieser Eintrag kann nun erweitern werden:

1
2
"C:\cmdtools\imf_disp.exe" -g 2.2 --width=1280 --height=808 --x_pos=310 --y_pos=120 
--frame_rate=25 --on_image_load=zoom_image "%1"

-g 2.2, gibt den Standard- Gamma an
–width=1280, gibt die Fenstergröße an
–height=808, ist für die Fensterhöhe
–x_pos=310, gibt die Fensterposition in X-Richtung am Bildschirm an
–y_pos=120, gibt die Fensterposition in Y-Richtung am Bildschirm an
–frame_rate=25, definiert die Framerate
–on_image_load=zoom_image, gibt an, dass das Bild auf Fenstergröße gezoom werden soll

Weitere Infos darüber findet man auch unter:
Autodesk Help – imf_disp

.map (Memory mapped Textur) in mental ray

mr Phenomenon zum Laden von .map Texturen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
min version "3.4.7.5"
max version "3.10.99"
 
 
declare phenomenon
	color "Tex_HQ-Filtering" (
		color texture	"texture",
		scalar			"eccmax",
		scalar			"maxminor",
		scalar			"disc_r",
		boolean			"bilinear",
		boolean			"mirror_x",
		boolean			"mirror_y",
		vector			"repeat",
		vector			"offset",
		integer		"space",
 
	struct "g" {
        scalar  "gamma"        default 1.0, #: min 0  softmax 5.0
        scalar  "gain"         default 1.0, #: min 0  softmax 5.0
        boolean "reverse"      default off
		},
 
	)
 
	shader "coord" "mib_texture_vector" (
		"select"	0,
		"selspace"	0,
		"vertex"	0,
		"project"	2
	)
	shader "remap" "mib_texture_remap" (
		"input"		= "coord",
		"repeat"	= interface "repeat",
		"alt_x"		= interface "mirror_x",
		"alt_y"		= interface "mirror_y",
		"offset"	= interface "offset"
	)
	shader "tex" "mib_texture_filter_lookup" (
		"tex"		= interface "texture",
		"coord"		= "remap",
		"remap"		 "remap",
		"eccmax"	= interface "eccmax",
		"maxminor"	= interface "maxminor",
		"bilinear"	= interface "bilinear",
		"space"	= interface "space",
 
	)
 
	shader "gamma" "mip_gamma_gain" (
		"input"   	= "tex",
        "gamma"  	= interface "g.gamma",       
        "gain"  	= interface "g.gain",        
        "reverse" 	= interface "g.reverse"	
	)
 
 
	root = "gamma"
	apply texture
 
 
		gui "gui_Tex_HQ-Filtering" {
				control "Global" "Global" (
				"uiName" "Tex_HQ-Filtering",
				"category" "Texture" 
				)		
 
		control "eccmax"	"scalar" (
			"uiName" "eccmax",
			"value"	20.0
			)
 
		control "maxminor"	"scalar" (
			"uiName" "maxminor",
			"value"	6.0
			)
 
		control "disc_r"	"scalar" (
			"uiName" "disc_r",
			"value"	0.3
			)	
 
		control "repeat"	"vector" (
			"uiName" "repeat",
			"value"	1.0 1.0 1.0
			)	
		control "space"	"integer" (
			"uiName" "space",
			"value"	1
			)		
 
		control "g" "struct" (
			"uiName" "Gamma Control"
			)
		{
 
		control "gamma"	"scalar" (
			"uiName" "gamma",
			"value"	1.0
			)
 
		control "gain"	"scalar" (
			"uiName" "gain",
			"value"	1.0
			)	
 
		control "reverse"	"boolean" (
			"uiName" "reverse",
			"value"	off
			)
 
		}	
	}
end declare