package pixie; public class RI { public class RtPointer { long pointerValue; } public interface RtFilterFunc { public float run(float a, float b, float c, float d); } public interface RtFunc { void run(String arg); } public interface RtErrorHandler { void run(int code, int severity, String message); } public static String RI_FRAMEBUFFER = "framebuffer"; public static String RI_FILE = "file"; public static String RI_RGB = "rgb"; public static String RI_RGBA = "rgba"; public static String RI_RGBZ = "rgbz"; public static String RI_RGBAZ = "rgbaz"; public static String RI_A = "a"; public static String RI_Z = "z"; public static String RI_AZ = "az"; public static String RI_PERSPECTIVE = "perspective"; public static String RI_ORTHOGRAPHIC = "orthographic"; public static String RI_HIDDEN = "hidden"; public static String RI_PAINT = "paint"; public static String RI_CONSTANT = "constant"; public static String RI_SMOOTH = "smooth"; public static String RI_FLATNESS = "flatness"; public static String RI_FOV = "fov"; public static String RI_AMBIENTLIGHT = "ambientlight"; public static String RI_POINTLIGHT = "pointlight"; public static String RI_DISTANTLIGHT = "distantlight"; public static String RI_SPOTLIGHT = "spotlight"; public static String RI_INTENSITY = "intensity"; public static String RI_LIGHTCOLOR = "lightcolor"; public static String RI_FROM = "from"; public static String RI_TO = "to"; public static String RI_CONEANGLE = "coneangle"; public static String RI_CONEDELTAANGLE = "conedeltaangle"; public static String RI_BEAMDISTRIBUTION = "beamdistribution"; public static String RI_MATTE = "matte"; public static String RI_METAL = "metal"; public static String RI_SHINYMETAL = "shinymetal"; public static String RI_PLASTIC = "plastic"; public static String RI_PAINTEDPLASTIC = "paintedplastic"; public static String RI_KA = "Ka"; public static String RI_KD = "Kd"; public static String RI_KS = "Ks"; public static String RI_ROUGHNESS = "roughness"; public static String RI_KR = "Kr"; public static String RI_TEXTURENAME = "texturename"; public static String RI_SPECULARCOLOR = "specularcolor"; public static String RI_DEPTHCUE = "depthcue"; public static String RI_FOG = "fog"; public static String RI_BUMPY = "bumpy"; public static String RI_MINDISTANCE = "mindistance"; public static String RI_BACKGROUND = "background"; public static String RI_DISTANCE = "distance"; public static String RI_AMPLITUDE = "amplitude"; public static String RI_INSIDE = "inside"; public static String RI_OUTSIDE = "outside"; public static String RI_LH = "lh"; public static String RI_RH = "rh"; public static String RI_P = "P"; public static String RI_PZ = "Pz"; public static String RI_PW = "Pw"; public static String RI_N = "N"; public static String RI_NP = "Np"; public static String RI_CS = "Cs"; public static String RI_OS = "Os"; public static String RI_S = "s"; public static String RI_T = "t"; public static String RI_ST = "st"; public static String RI_BILINEAR = "bilinear"; public static String RI_BICUBIC = "bicubic"; public static String RI_PRIMITIVE = "primitive"; public static String RI_INTERSECTION = "intersection"; public static String RI_UNION = "union"; public static String RI_DIFFERENCE = "difference"; public static String RI_PERIODIC = "periodic"; public static String RI_NOWRAP = "nowrap"; public static String RI_NONPERIODIC = "nonperiodic"; public static String RI_CLAMP = "clamp"; public static String RI_BLACK = "black"; public static String RI_IGNORE = "ignore"; public static String RI_PRINT = "print"; public static String RI_ABORT = "abort"; public static String RI_HANDLER = "handler"; public static String RI_ORIGIN = "origin"; public static String RI_IDENTIFIER = "identifier"; public static String RI_NAME = "name"; public static String RI_COMMENT = "comment"; public static String RI_STRUCTURE = "structure"; public static String RI_VERBATIM = "verbatim"; public static String RI_LINEAR = "linear"; public static String RI_CUBIC = "cubic"; public static String RI_WIDTH = "width"; public static String RI_CONSTANTWIDTH = "constantwidth"; public static String RI_CATMULLCLARK = "catmull-clark"; public static String RI_HOLE = "hole"; public static String RI_CREASE = "crease"; public static String RI_CORNER = "corner"; public static String RI_INTERPOLATEBOUNDARY = "interpolateboundary"; public static String RI_CURRENT = "current"; public static String RI_WORLD = "world"; public static String RI_OBJECT = "object"; public static String RI_SHADER = "shader"; public static String RI_RASTER = "raster"; public static String RI_NDC = "ndc"; public static String RI_SCREEN = "screen"; public static String RI_CAMERA = "camera"; public static String RI_EYE = "eye"; public static String RI_BOXFILTER = "box"; public static String RI_TRIANGLEFILTER = "triangle"; public static String RI_GAUSSIANFILTER = "gaussian"; public static String RI_SINCFILTER = "sinc"; public static String RI_CATMULLROMFILTER = "catmull-rom"; public static String RI_CUSTOM = "custom"; public static String RI_LIMITS = "limits"; public static String RI_SEARCHPATH = "searchpath"; public static String RI_SHADOW = "shadow"; public static String RI_RENDER = "render"; public static String RI_DICE = "dice"; public static String RI_HINT = "hint"; public static String RI_TEXTURE = "texture"; public static String RI_HIDER = "hider"; public static String RI_STATISTICS = "statistics"; public static String RI_VISIBILITY = "visibility"; public static String RI_DISPLACEMENTBOUND = "displacementbound"; public static String RI_IRRADIANCE = "irradiance"; public static String RI_NORMALDEVIATION = "normaldeviation"; public static String RI_POINTDEVIATION = "pointdeviation"; public static String RI_MINSUBDIVISION = "minsubdivision"; public static String RI_MAXSUBDIVISION = "maxsubdivision"; public static String RI_NUMPROBES = "numprobes"; public static String RI_MINSPLITS = "minsplits"; public static String RI_BOUNDEXPAND = "boundexpand"; public static String RI_BINARY = "binary"; public static String RI_SPHERE = "sphere"; public static String RI_COORDINATESYSYTEM = "coordinatesystem"; public static String RI_PHOTON = "photon"; public static String RI_ENVIRONMENT = "environment"; public static String RI_TRACE = "trace"; public static String RI_TRANSMISSION = "transmission"; public static String RI_CAUSTICS = "caustics"; public static String RI_BIAS = "bias"; public static String RI_DISPLACEMENTS = "displacements"; public static String RI_MAXDIFFUSEDEPTH = "maxdiffusedepth"; public static String RI_MAXSPECULARDEPTH = "maxspeculardepth"; public static String RI_GLOBALMAP = "globalmap"; public static String RI_CAUSTICMAP = "causticmap"; public static String RI_ESTIMATOR = "estimator"; public static String RI_SHADINGMODEL = "shadingmodel"; public static String RI_ILLUMINATEFRONT = "illuminatefront"; public static String RI_IOR = "ior"; public static String RI_MOTIONFACTOR = "motionfactor"; public static String RI_ARCHIVE = "archive"; public static String RI_PROCEDURAL = "procedural"; public static String RI_RESOURCE = "resource"; public static String RI_DISPLAY = "display"; public static String RI_BUCKETSIZE = "bucketsize"; public static String RI_GRIDSIZE = "gridsize"; public static String RI_MAXRECURSION = "raydepth"; public static String RI_TEXTUREMEMORY = "texturememory"; public static String RI_HIERARCHYDEPTH = "hierarchydepth"; public static String RI_HIERARCHYOBJECTS = "hierarchyleafobjects"; public static String RI_SHADERCACHE = "shadercache"; public static String RI_EYESPLITS = "eyesplits"; public static String RI_MAXDEPTH = "maxdepth"; public static String RI_ENDOFFRAME = "endofframe"; public static String RI_FILELOG = "filelog"; public static String RI_PROGRESS = "progress"; public static String RI_HANDLE = "handle"; public static String RI_FILEMODE = "filemode"; public static String RI_MAXERROR = "maxerror"; public static String RI_MINSAMPLEDISTANCE = "minsampledistance"; public static String RI_MAXSAMPLEDISTANCE = "maxsampledistance"; public static String RI_JITTER = "jitter"; public static String RI_FALSECOLOR = "falsecolor"; public static String RI_EMIT = "emit"; public static String RI_DEPTHFILTER = "depthfilter"; public static String RI_RADIANCECACHE = "radiancecache"; public static String RI_MASKRESOLUTION = "maskresolution"; public static String RI_MASKPRINTF = "maskprintf"; public static String RI_MASKLOG = "masklog"; public static String RI_MASKPROGRESS = "maskprogress"; public static String RI_MASKSTATS = "maskstats"; public static String RI_INHERITATTRIBUTES = "inheritattributes"; public static String RI_DEFAULTSURFACE = "defaultsurface"; public static native void inititaliseRendermanInterface(); public static native String RiDeclare(String name, String declaration); public static native RtPointer RiGetContext(); public static native void RiContext(RtPointer context); public static native void RiBegin(String name); public static native void RiEnd(); public static native void RiFrameBegin(int number); public static native void RiFrameEnd(); public static native void RiWorldBegin(); public static native void RiWorldEnd(); public static native void RiFormat(int xres, int yres, float aspect); public static native void RiFrameAspectRatio(float aspect); public static native void RiScreenWindow(float left, float right, float bot, float top); public static native void RiCropWindow(float xmin, float xmax, float ymin, float ymax); public static native void RiProjectionV(String name, int n, String tokens[], RtPointer params[]); public static native void RiClipping(float hither, float yonder); public static native void RiClippingPlnae(float x, float y, float z, float nx, float ny, float nz); public static native void RiDepthOfField(float fstop, float focallength, float focaldistance); public static native void RiShutter(float smin, float smax); public static native void RiPixelVariance(float variation); public static native void RiPixelSamples(float xsamples, float ysamples); public static native void RiPixelFilter(RtFilterFunc func, float xwidth, float ywidth); public static native void RiExposure(float gain, float gamma); public static native void RiImagerV(String name, int n, String tokens[], RtPointer params[]); public static native void RiQuantize(String type, int one, int qmin, int qmax, float ampl); public static native void RiDisplayV(String name, String type, String mode, int n, String tokens[], RtPointer params[]); public static native float RiGaussianFilter(float x, float y, float xwidth, float ywidth); public static native float RiBoxFilter(float x, float y, float xwidth, float ywidth); public static native float RiTriangleFilter(float x, float y, float xwidth, float ywidth); public static native float RiCatmullRomFilter(float x, float y, float xwidth, float ywidth); public static native float RiSincFilter(float x, float y, float xwidth, float ywidth); public static native void RiHiderV(String type, int n, String tokens[], RtPointer params[]); public static native void RiColorSamples(int N, float nRGB[], float RGBn[]); public static native void RiRelativeDetail(float relativeDetail); public static native void RiOptionV(String name, int n, String tokens[], RtPointer params[]); public static native void RiAttributeBegin(); public static native void RiAttributeEnd(); public static native void RiColor(float cs[]); // expects 3 array elements public static native void RiOpacity(float cs[]); // expects 3 array // elements public static native void RiTextureCoordinates(float s1, float t1, float s2, float t2, float s3, float t3, float s4, float t4); public static native RtPointer RiLightSourceV(String name, int n, String tokens[], RtPointer params[]); public static native RtPointer RiAreaListhSourceV(String name, int n, String tokens[], RtPointer params[]); public static native void RiIlluminate(RtPointer light, boolean onoff); public static native void RiSurfaceV(String name, int n, String tokens[], RtPointer params[]); public static native void RiAtmosphereV(String name, int n, String tokens[], RtPointer params[]); public static native void RiInteriorV(String name, int n, String tokens[], RtPointer params[]); public static native void RiExteriorV(String name, int n, String tokens[], RtPointer params[]); public static native void RiShadingRate(float size); public static native void RiShadingInterpolation(String type); public static native void RiMatte(boolean onoff); public static native void RiBound(float bound[]); // expects 6 array elements public static native void RiDetail(float bound[]); // expects 6 array elements public static native void RiDetailRange(float minvis, float lowtran, float uptran, float maxvis); public static native void RiGeometricApproximation(String type, float value); public static native void RiGeometricRepresentation(String type); public static native void RiOrientation(String orientation); public static native void RiReverseOrientation(); public static native void RiSides(int nsides); public static native void RiIdentity(); public static native void RiTransform(float tranform[]); // expects 16 array elements public static native void RiPerspective(float fov); public static native void RiTranslate(float dx, float dy, float dz); public static native void RiRotate(float angle, float dx, float dy, float dz); public static native void RiScale(float dx, float dy, float dz); public static native void RiSkew(float angle, float dx1, float dy1, float dz1, float dx2, float dy2, float dz2); public static native void RiDeformationV(String name, int n, String tokens[], RtPointer params[]); public static native void RiDisplacementV(String name, int n, String tokens[], RtPointer params[]); public static native void RiCoordinateSystem(String space); public static native void RiCoordSysTransform(String space); public static native void RiTransformPoints(String fromSpace, String toSpace, int npoints, float points[][]); // points is array // of arrays with 3 // elements public static native void RiTransformBegin(); public static native void RiTransformEnd(); public static native void RiAttributeV(String name, int n, String tokens[], RtPointer params[]); public static native void RiPolygonV(int nvertices, int n, String tokens[], RtPointer params[]); public static native void RiGeneralPolygonV(int nloops, int nverts[], int n, String tokens[], RtPointer params[]); public static native void RiPointsPolygonsV(int npolys, int nverts[], int verts[], String tokens[], RtPointer params[]); public static native void RiPointsGeneralPolygonsV(int npolys, int nloops[], int nverts[], int n, String tokens[], RtPointer params[]); public static native void RiBasis(float ubasis[], int ustep, float vbasis[], int vstep); // ubasis and vbases both expect 16 elements public static native void RiPatchV(String type, int n, String tokens[], RtPointer params[]); public static native void RiPatchMeshV(String type, int nu, String uvwrap, int nv, String vwrap, int n, String tokens[], RtPointer params[]); public static native void RiNuPatchV(int nu, int uorder, float uknot[], float umin, float umax, int nv, float vorder, float vknot[], float vmin, float vmax, int n, String tokens[], RtPointer params[]); public static native void RiTrimCurve(int nloops, int ncurves[], int order[], float knot[], float amin[], float amax[], int n[], float u[], float v[], float w[]); public static native void RiSphereV(float radius, float zmin, float zmax, float thetamin, int n, String tokens[], RtPointer params[]); public static native void RiConeV(float height, float radius, float thetamax, int n, String tokens[], RtPointer params[]); public static native void RiCylinderV(float radius, float zmin, float zmax, float thetamax, int n, String tokens[], RtPointer params[]); public static native void RiHyperboloidV(float point1[], float point2[], float thetamax, int n, String tokens[], RtPointer parmas[]); public static native void RiParaboloidV(float rmax, float zmin, float zmax, float thetamax, int n, String tokens[], RtPointer params[]); public static native void RiDiskV(float height, float radius, float thetamax, int n, String tokens[], RtPointer params[]); public static native void RiTorusV(float majorrad, float minorrad, float phimin, float phimax, float thetamax, int n, String tokens[], RtPointer params[]); public static native void RiCurvesV(String degree, int ncurves, int nverts[], String wrap, int n, String tokens[], RtPointer params[]); // TODO: RiProcedural public static native void RiGeometryV(String type, int n, String tokens[], RtPointer params[]); public static native void RiPointsV(int npts, int n, String tokens[], RtPointer params[]); public static native void RiSubdivisionMeshV(String scheme, int nfaces, int nvertices[], int vertices[], int ntags, int tags[], int nargs[], int intargs[], float floatargs[], int n, String tokens[], RtPointer params[]); public static native void RiBlobbyV(int nleaf, int ncode, int code[], int nflt, int flt[], int nstr, String str[], int n, String tokens[], RtPointer params[]); public static native void RiProcDelayedReadArchive(RtPointer data, float detail); public static native void RiProcRunProgram(RtPointer data, float detail); public static native void RiProcDynamicLoad(RtPointer data, float detail); public static native void RiProcFree(RtPointer proc); public static native void RiSolidBegin(String type); public static native void RiSolidEnd(); public static native RtPointer RiObjectBegin(); public static native void RiObjectEnd(); public static native void RiObjectInstance(RtPointer handle); public static native void RiMotionBeginV(int n, float times[]); public static native void RiMotionEnd(); public static native void RiMakeTextureV(String pic, String tex, String swrap, String twrap, RtFilterFunc filterfunc, float swidth, float twidth, int n, String tokens[], RtPointer params[]); public static native void RiMakeBumpV(String pic, String tex, String swrap, String twrap, RtFilterFunc filterfunc, float swidth, float twidth, int n, String tokens[], RtPointer params[]); public static native void RiMakeLatLongEnvironmentV(String pic, String tex, RtFilterFunc filterfunc, float swidth, float twidth, int n, String tokens[], RtPointer params[]); public static native void RiMakeCubeFaceEnvironmentV(String px, String nx, String py, String ny, String pz, String nz, String tex, float fov, RtFilterFunc filterfunc, float swidth, float twidth, int n, String tokens[], RtPointer params[]); public static native void RiMakeShadowV(String pic, String tex, int n, String tokens[], RtPointer params[]); public static native void RiErrorHandler(RtErrorHandler handler); public static native void RiErrorIgnore(int code, int severity, String message); public static native void RiErrorPrint(int code, int severity, String message); public static native void RiErrorAbort(int code, int severity, String message); // TODO: RiReadArchiveRecord public static native void RiReadArchiveV(String filename, RtFunc callback, int n, String tokens[], RtPointer params[]); public static native void RiTrace(int i, float point1[], float point2[], float point3[]); public static native void RiTraceEx(int i, float point1[], float point2[], float point3[], float floatParam[]); public static native void RiVisibility(int i, float point1[], float point2[], float point3[]); }