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

Vertices von Objekte in Selektion nacheinander welden

Mit dem folgenden maxscript lassen sich Vertices von selektierten Objekten nacheinander verschweiße. Kann praktisch sein wenn es sich um sehr viele Objekte handelt und Max bei einem einzelnen Durchgang einzufrieren drohen würde.

Der Print- Befehl im Script zeigt im Listener den Fortschritt an. Damit während des Prozesses Max nicht aufhört zu reagieren wird alle 5 Sekunden der Bildschirm refresht.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clearlistener()
 
sel = selection
startID = timeStamp()
for i = 1 to sel.count do (
    ConvertTo sel[i] Editable_Poly
    sel[i].weldThreshold = 0.001
    allVerts = #{1..(polyop.getNumVerts sel[i])}
    polyop.weldVertsByThreshold sel[i] allVerts
    print (i as string + " from " + sel.count as string + " welded...")
    stampID = timeStamp()
    if (((stampID - startID) / 1000.0) >= 5.00) do (
        startID = timeStamp()
        windows.processPostedMessages()
        )
    )

media-autobuild_suite

Unter Linux gibt es ein tolles Script mit welchem sich das Kompilieren von ffmpeg und andere Tools für Windows automatisieren lässt.

https://github.com/rdp/ffmpeg-windows-build-helpers )

Etwas ähnliches habe ich jetzt auch für Windows geschrieben. Das Script läuft auch weitestgehend automatisch ab. Es muss lediglich ausgewählt werden ob man für Windows 32 bit, 64 bit, oder Beides kompiliert werden soll. Ob „non free“ Encoder, wie fdk aac, eingebunden werden soll und wie viele CPU Cores verwendet werden soll.

Für das Ausführen und verwenden ist es wichtig, dass das Script in einem Ordner kopiert und ausgeführt wird, welcher keine Leerzeichen im Pfad hat. Z.B.: C:\mingw

Da keine Registry Keys, oder Systemvariablen gesetzt werden, kann der Ordner, wenn er nicht mehr benötigt wird, problemlos gelöscht werden. Es bleiben keine Rückstände übrig.

Momentan werden kompiliert:

  • a52dec
  • bzip2
  • exiv2
  • fdkaac (standalone and lib for ffmpeg)
  • ffmpeg
  • faac (standalone and lib for ffmpeg)
  • fftw
  • flac (standalone)
  • fltk
  • fontconfig
  • freetype
  • frei0r
  • gettext
  • gsm
  • gnutls (standalone and lib for ffmpeg)
  • lame (standalone and lib for ffmpeg)
  • ImageMagick (standalone (32 bit))
  • jpeg
  • jpeg2000
  • jpegturbo
  • libass
  • libbluray
  • libcaca
  • libdvdcss
  • libdvdnav
  • libdvdread
  • libilbc
  • libmad
  • libmodplug
  • libmpeg2
  • libpng
  • libsoxr
  • libtiff
  • libtwolame
  • libutvideo
  • libxml2
  • libzvbi
  • lua
  • mediainfo cli (only 32 bit)
  • mp3lame (standalone and lib for ffmpeg)
  • mp4box (standalone)
  • mplayer (standalone)
  • orc
  • opencore-amr
  • openEXR (standalone and lib for ImageMagick)
  • openjpeg
  • ogg
  • opus
  • opus-tools (standalone)
  • qt4
  • rtmp (standalone and lib for ffmpeg)
  • schroedinger
  • sdl (for ffplay)
  • sdl_image
  • sox
  • speex (standalone and lib for ffmpeg)
  • theora
  • vlc player
  • vidstab
  • vpx (standalone and lib for ffmpeg)
  • vo-aacenc
  • vo-amrwbenc
  • vorbis
  • x264 (standalone and lib for ffmpeg)
  • x264 10 bit (standalone)
  • x265 (standalone and lib)
  • x265 16 bit (standalone)
  • xavs (standalone and lib for ffmpeg)
  • xvid
  • zlib

Finden tut ihr die neuste Version immer unter:

https://github.com/jb-alvarado/media-autobuild_suite

Viel Spaß damit!

 

( Da das Tool open source ist, ist die Nutzung natürlich auf eigene Gefahr… 🙂 )

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/

Durch Ordner und Unterordner „schleifen“ und nach Dateiendungen suchen

Manchmal kann es vorkommen, dass man in vielen Unterordnern nach Dateien suchen muss um sie zu löschen, bearbeiten, oder sonstiges mit anzustellen. In meinem Beispiel lasse ich einen Ordner durchsuchen, in dem VLC compiliert wurde. Es sollen alle Dateien mit der Endung „.a“ und „.la“ gelöscht werden und mit dem Tool ubx lasse ich anschließend alle „.exe“ und „.dll“ files packen, damit sie weniger Platz auf der Festplatte einnehmen (vor dem packen nahm vlc ~230 mb in Anspruch, nach dem Packen nur noch 32,3 mb).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
 
FOR /R "vlc-2.2.0-git" %%A IN (*.a) DO del %%A
FOR /R "vlc-2.2.0-git" %%B IN (*.la) DO del %%B
 
FOR /R "vlc-2.2.0-git" %%C IN (*.exe) DO (
	D:\Dateien\DEV\mingw\bin\strip.exe %%C 
	D:\Dateien\DEV\mingw\bin\upx.exe --best --strip-relocs=0 %%C
	echo.%%C done...
	)
FOR /R "vlc-2.2.0-git" %%D IN (*.dll) DO (
	D:\Dateien\DEV\mingw\bin\strip.exe %%D 
	D:\Dateien\DEV\mingw\bin\upx.exe --best --strip-relocs=0 %%D
	echo.%%D done...
	)
 
pause

Falls benötigt, das Tool ubx lässt sich hier herunterladen:
http://upx.sourceforge.net/#downloadupx