Difference between revisions of "User talk:BillW"

From POV-Wiki
Jump to navigation Jump to search
(Project To-Do list)
 
 
(9 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
Feel free to pick up a project and research or develop it as far as you're able.
 
Feel free to pick up a project and research or develop it as far as you're able.
  
 
+
<pre>
 
Drop-Down Insert Menu
 
Drop-Down Insert Menu
 
Wireframe shapes
 
Wireframe shapes
Line 16: Line 16:
 
 
 
 
Function graphing
+
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
+
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
+
Parametric mesh2 Same as above
Read / Write to/from file
+
Read / Write to/from file basically just want a simple Insert Menu item to drop functional code into a scene
Isosurface Evaluate
+
Isosurface Evaluate Same as above
Heightfield correcting macro
+
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
+
Image_map in memory from a function
Analytical Geometry include
+
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
+
irid Good looking iridescence can be tricky to implement, so a sample scene would be extremely helpful.
3-point lighting
+
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
+
transparent background This is a very frequently asked question.  Make the fix an Insert Menu item (comments)
Data structures
+
Data structures There are a lot of useful data structures that would make writing scenes so much easier, or even possible
Vector math
+
Vector math There are lots of clever things that can be done with matrices, determinants, vdot and vcross
matrices
+
Products inner product (dot product), exterior product (wedge product, 2D parallelogram), cross product, triple product, quadruple product
Solve geometric problems
+
matrices Need actual mathematical matrix methods to add, multiply, exponentiate, Gaussian elimination, transpose, eigenvalues, trace, ...
Scene layout tools
+
Solve geometric problems nearest point to object, intersections,
Matrix determinants
+
Scene layout tools Grids, object locators, special light source diagramming aids
Minimum visible sphere radius
+
Matrix determinants for any MxN matrix
Analytical tangents between 2 circles
+
Minimum visible sphere radius How to set up camera so that a sphere completely fills the viewport - extends edge to edge of smallest dimension
Numerical pigment patterns
+
Analytical tangents between 2 circles I have an extensive system to do this and also create a prism from an enclosed path.
Catenary
+
Numerical pigment patterns I have hundreds of equations to make pigment {function {}} patterns
Full-color pigment
+
Catenary It's unclear if we have an easy-to-use macro that is mathematically correct
f_Identifier - function
+
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
 
v_Identifier - vector quantity
 
s_Identifier - scalar quantity
 
s_Identifier - scalar quantity
C_Identifier - color
+
c_Identifier - color
P_Identifier - Pigment
+
p_Identifier - Pigment
T_Identifier - Texture
+
t_Identifier - Texture
L_Identifier - a loop variable: #for (L_Identifier, 0, 10)
+
l_Identifier - a loop variable: #for (l_Identifier, 0, 10)
Point transforms
+
o_identifier - object
eval_pigment ()
+
m_identifier - material
now ()
+
n_identifier - normal
trace ()
+
f_identifier - finish
orthographic
+
 
macro names
+
Use cases
+
Point transforms rotate () or translate () a "point" (vector)
Sorting
+
eval_pigment () Insert Menu item
Array macros
+
now () Example usages for timing parsing
srgb
+
trace () Insert Menu sample code for tracing an object.  Also, tutorial graphic.
GitHub repositories
+
orthographic Insert Menu camera setup with explanation of pixel size in POV-units & "zoom"
Wiki accounts
+
macro names Some macros ought to be renamed for clarity, or have alias macros that call the poorly-named one
Barycentric coordinates
+
Use cases Certain features or keywords are hard puzzle out the proper syntax and method of usage
Stacks
+
Sorting I have a lot of sorting macros which ought be made into a general-purpose include file
Pipes
+
Array macros Various macros that make using arrays easier and more versatile
Normal maps
+
srgb An extensively discussed topic that could use a comprehensive macro for proper color conversion
Vector swizzling
+
GitHub repositories There are various GitHub repositories of code that ought to be implemented as include files, etc.
Prism macro for 3D vectors
+
Wiki accounts These need to be expanded and made more accessible from the main forum
reflected ray macro/function
+
Barycentric coordinates These can be exceedingly tricky to implement.  I have a series of macros to perform specific operations in triangular space.
multiple result trace ()
+
Stacks Myself and others have useful macros for pushing, popping, inserting, and deleting from a stack.
Lerp
+
Pipes
invLerp
+
Normal maps Functions and macros for generating normal maps
Remap
+
Vector swizzling These need to be implemented in source, but for now, practical work-arounds need to be invented
convex hull
+
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.
Trig functions
+
reflected ray macro/function I have a macro to calculate the direction of a ray reflected from a surface
bitwise XOR
+
multiple result trace () https://news.povray.org/povray.pov4.discussion.general/message/%3Cweb.67ba2b4018d596021f9dae3025979125%40news.povray.org%3E/#%3Cweb.67ba2b4018d596021f9dae3025979125%40news.povray.org%3E
lucida-sans-unicode.ttf allfont.net/download/lucida-sans-unicode/#download
+
 
arial-unicode-ms.ttf ufonts.com/downloads/197925!474209627
+
Lerp I have functions to perform these operations.
Rendering with ini files wiki.povray.org/content/Documentation:Unix_Section_5#INI_File_Sections
+
invLerp I believe Ingo Janssen has a collection of interpolation macros as well
2-pass radiosity
+
Remap These would be useful for splines, color maps, animations, etc.
Monolithic include file snip out used parts to make Scene_standalone?
+
convex hull I have a 2D version that I've implemented, and WFP just posted a lost link to a 3D version
Keyword examples
+
Trig functions A complete set of inbuilt trig functions or additions to an include file is desirable
example scenes
+
bitwise XOR I have a scene where I perform conversion from decimal to binary to perform XOR, and then convert back
convolution
+
lucida-sans-unicode.ttf allfont.net/download/lucida-sans-unicode/#download
FFT
+
arial-unicode-ms.ttf ufonts.com/downloads/197925!474209627
camera location
+
Rendering with ini files wiki.povray.org/content/Documentation:Unix_Section_5#INI_File_Sections
point object
+
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
 
bicubic patch texture interpolation
no absolute zeros in pigments
+
no absolute zeros in pigments This was discussed in the Granite Macro thread with regard to strong lighting, radiosity, etc.
Test Object
+
Test Object I have a POV-Ray logo "test object" like Blender, Grasshopper, Maya, etc have.
Standard render rig for comparisons
+
Standard render rig for comparisons Some sort of Cornell Box or other standardized scene with standard environment, lighting, etc.
Thomas Fester posts
+
Thomas Fester posts
vector object - position + normal
+
vector object - position + normal Same as "Point" object
Gray code
+
Gray code Having an implementation of this would make for some interesting experiments and applications
decimal to binary
+
decimal to binary Conversion macros between number bases
Media macros
+
Media macros Macros to properly set up and implement media would be extremely useful
Ini file SECTIONS
+
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
+
input file name Useful feature for rendering include files
use pattern to get B&W pigment
+
use pattern to get B&W pigment Using pattern {} obviates the need for a color map.
 
Hilbert curves
 
Hilbert curves
for each macro (thread)
+
for each macro (thread) jr's implementation for this useful looping operation
jr's macros
+
jr's macros QuadTree, NonaTree, Tabled, ForEach, others...
pov earth macros
+
pov earth macros
area light macro area light setup thread
+
area light macro area light setup thread
comparison of numeric values in functions (y<0) (x>0) (z=0)
+
comparison of numeric values in functions (y<0) (x>0) (z=0) Useful Boolean "triggers"
Fractracer
+
Fractracer Sphere "sitting in" and touching all 3 sides of a triangle
lohmueller include translations
+
lohmueller include translations Just a general cleanup and translation of comments
Mike Williams function thickening
+
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
 
 
 
 
Line 127: Line 173:
 
OBJECT BENDER
 
OBJECT BENDER
 
COILS
 
COILS
SPIDERWEB
+
SPIDERWEB
 +
LINKS
 
 
 
 
Line 135: Line 182:
 
INVERSE KINEMATICS for necks/tentacles
 
INVERSE KINEMATICS for necks/tentacles
 
ILLUSION
 
ILLUSION
 +
 +
 
 
+
/* Image/Bump Map projection methods */
/* Image/Bump Map projection methods */
+
(I believe that some are as yet unimplemented - BW)
 
#define PLANAR_MAP      0
 
#define PLANAR_MAP      0
 
#define SPHERICAL_MAP  1
 
#define SPHERICAL_MAP  1
Line 146: Line 195:
 
#define PIRIFORM_MAP    6
 
#define PIRIFORM_MAP    6
 
#define OLD_MAP        7
 
#define OLD_MAP        7
 +
 +
</pre>

Latest revision as of 23:46, 31 March 2025

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