User talk:BillW
Jump to navigation
Jump to search
Just dropping this all here as an all-inclusive to-do list. Feel free to pick up a project and research or develop it as far as you're able.
Drop-Down Insert Menu Wireframe shapes Basic scene Text Mathematical text axes dependencies Dodecahedron normals Icosahedron normals trace () news.povray.org/povray.binaries.tutorials/thread/%3Cweb.51f61e827603294573fc9ebb0%40news.povray.org%3E/ Function graphing I have a system to graph equations. I think it might have a few axis-labeling bugs, and needs texting and fixing. Parametric mesh Takes parametric equations in x, y, and z and creates quads that are composed of 2 triangles. Can stepwise cycle through parameters. Parametric mesh2 Same as above Read / Write to/from file basically just want a simple Insert Menu item to drop functional code into a scene Isosurface Evaluate Same as above Heightfield correcting macro Newsgroup discussion implies that an Insert Menu for generating properly formed and oriented heightfield from function code would be desirable Image_map in memory from a function Analytical Geometry include Just would like Friedrich Lohmueller's include files to get cleaned up, formatted, and clearly commented as to purpose of each macro irid Good looking iridescence can be tricky to implement, so a sample scene would be extremely helpful. 3-point lighting Warp had a good tutorial. Having a macro to set up basic 3-point lighting would help new users a lot transparent background This is a very frequently asked question. Make the fix an Insert Menu item (comments) Data structures There are a lot of useful data structures that would make writing scenes so much easier, or even possible Vector math There are lots of clever things that can be done with matrices, determinants, vdot and vcross Products inner product (dot product), exterior product (wedge product, 2D parallelogram), cross product, triple product, quadruple product matrices Need actual mathematical matrix methods to add, multiply, exponentiate, Gaussian elimination, transpose, eigenvalues, trace, ... Solve geometric problems nearest point to object, intersections, Scene layout tools Grids, object locators, special light source diagramming aids Matrix determinants for any MxN matrix Minimum visible sphere radius How to set up camera so that a sphere completely fills the viewport - extends edge to edge of smallest dimension Analytical tangents between 2 circles I have an extensive system to do this and also create a prism from an enclosed path. Numerical pigment patterns I have hundreds of equations to make pigment {function {}} patterns Catenary It's unclear if we have an easy-to-use macro that is mathematically correct Full-color pigment Insert Menu item to make an average pattern rgbft pigment fn_Identifier - function For large, complex scenes, sometimes it's easier to have a system of naming identifiers as to type v_Identifier - vector quantity s_Identifier - scalar quantity c_Identifier - color p_Identifier - Pigment t_Identifier - Texture l_Identifier - a loop variable: #for (l_Identifier, 0, 10) o_identifier - object m_identifier - material n_identifier - normal f_identifier - finish Point transforms rotate () or translate () a "point" (vector) eval_pigment () Insert Menu item now () Example usages for timing parsing trace () Insert Menu sample code for tracing an object. Also, tutorial graphic. orthographic Insert Menu camera setup with explanation of pixel size in POV-units & "zoom" macro names Some macros ought to be renamed for clarity, or have alias macros that call the poorly-named one Use cases Certain features or keywords are hard puzzle out the proper syntax and method of usage Sorting I have a lot of sorting macros which ought be made into a general-purpose include file Array macros Various macros that make using arrays easier and more versatile srgb An extensively discussed topic that could use a comprehensive macro for proper color conversion GitHub repositories There are various GitHub repositories of code that ought to be implemented as include files, etc. Wiki accounts These need to be expanded and made more accessible from the main forum Barycentric coordinates These can be exceedingly tricky to implement. I have a series of macros to perform specific operations in triangular space. Stacks Myself and others have useful macros for pushing, popping, inserting, and deleting from a stack. Pipes Normal maps Functions and macros for generating normal maps Vector swizzling These need to be implemented in source, but for now, practical work-arounds need to be invented Prism macro for 3D vectors Prisms only use 3d vectors. It's a pain to convert 3D to 2D. Maybe a macro to automate the process. reflected ray macro/function I have a macro to calculate the direction of a ray reflected from a surface multiple result trace () https://news.povray.org/povray.pov4.discussion.general/message/%3Cweb.67ba2b4018d596021f9dae3025979125%40news.povray.org%3E/#%3Cweb.67ba2b4018d596021f9dae3025979125%40news.povray.org%3E Lerp I have functions to perform these operations. invLerp I believe Ingo Janssen has a collection of interpolation macros as well Remap These would be useful for splines, color maps, animations, etc. convex hull I have a 2D version that I've implemented, and WFP just posted a lost link to a 3D version Trig functions A complete set of inbuilt trig functions or additions to an include file is desirable bitwise XOR I have a scene where I perform conversion from decimal to binary to perform XOR, and then convert back lucida-sans-unicode.ttf allfont.net/download/lucida-sans-unicode/#download arial-unicode-ms.ttf ufonts.com/downloads/197925!474209627 Rendering with ini files wiki.povray.org/content/Documentation:Unix_Section_5#INI_File_Sections 2-pass radiosity Simple example scenes should be in the distribution Monolithic include file The idea is that it can be complicated to gather and maintain a collection of include files. Perhaps there's a mechanism by which a large include file can be parsed and only include the things needed, to conserve memory. Maybe there is a convenient way to snip out the parts actually used in the scene to make the scene a standalone file? Keyword examples One functioning code example for every keyword would save A LOT of redundant forum posts. example scenes Some things need more than a short usage example. Specialized scenes ought to be made for complex topics. convolution Convolution kernels can be used to blur, find edges, sharpen, and other image processing tasks. FFT Fourier transform can be used to process "signals" in graphics, and we should have that capability. camera location A feature requested for decades. Let's get it implemented, or at least a robust, easy to use workaround. point object Having a vector that can be processed by rotate, translate, scale, and union would make many tasks easier. bicubic patch texture interpolation no absolute zeros in pigments This was discussed in the Granite Macro thread with regard to strong lighting, radiosity, etc. Test Object I have a POV-Ray logo "test object" like Blender, Grasshopper, Maya, etc have. Standard render rig for comparisons Some sort of Cornell Box or other standardized scene with standard environment, lighting, etc. Thomas Fester posts vector object - position + normal Same as "Point" object Gray code Having an implementation of this would make for some interesting experiments and applications decimal to binary Conversion macros between number bases Media macros Macros to properly set up and implement media would be extremely useful Ini file SECTIONS Examples of this useful feature would be great. Might be useful to extend this to apply to monolithic include file input file name Useful feature for rendering include files use pattern to get B&W pigment Using pattern {} obviates the need for a color map. Hilbert curves for each macro (thread) jr's implementation for this useful looping operation jr's macros QuadTree, NonaTree, Tabled, ForEach, others... pov earth macros area light macro area light setup thread comparison of numeric values in functions (y<0) (x>0) (z=0) Useful Boolean "triggers" Fractracer Sphere "sitting in" and touching all 3 sides of a triangle lohmueller include translations Just a general cleanup and translation of comments Mike Williams function thickening Useful trick, as well as mirroring function across origin Space-Filling Polyhedra There are a finite number of Polyhedra that can fully tile/fill 3D space. Have various implementations of these. Vertex and connectivity lists, formulas for filling space via offsets / mod (), dihedral angles, interior angles of faces, etc Platonic Solids Archimedean solids Crstal structures Unit cells, vertices, connectivity, mathematical formulas Geometric inversion Appolonian Gasket Ford Circles Pappus chains Steiner chains Appolonian Sphere Packing Random distributions Importance sampling Bezier spline library Endless amounts of really useful code Rational Bezier b-splines NURBS lat/long conversion to Cartesian & inverse square to circle mapping circle to triangle mapping uv-unwrapping autocorrelation complex numbers spirals arc lengths Signed Distance Functions (SDF) pow (0, 0) Doyle spirals Mobius transform Doyle + Mobius = double Doyle Complex exponential mapping Websites, blogs, code examples: Tor Olav Kristensen (TOK) Jerome Grimbert (Le Forgeron) Chris Rath Stephane Laurent Quasimondo (art) Isohedral.ca : Escher-like spiral tilings Include files Chris Colefax GALAXY TILE GENERATOR COMPRESSED MESH macro CITY GENERATOR LIQUID SPRAY OBJECT EXPLODER BRUSHED METAL LENS EFFECTS OBJECT BENDER COILS SPIDERWEB LINKS Rune PARTICLE SYSTEM ELECTRICITY INVERSE KINEMATICS for necks/tentacles ILLUSION /* Image/Bump Map projection methods */ (I believe that some are as yet unimplemented - BW) #define PLANAR_MAP 0 #define SPHERICAL_MAP 1 #define CYLINDRICAL_MAP 2 #define PARABOLIC_MAP 3 #define HYPERBOLIC_MAP 4 #define TORUS_MAP 5 #define PIRIFORM_MAP 6 #define OLD_MAP 7