forked from raysect/source
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCHANGELOG.txt
More file actions
195 lines (147 loc) · 7.44 KB
/
CHANGELOG.txt
File metadata and controls
195 lines (147 loc) · 7.44 KB
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
Raysect Changelog
=================
Release 0.6.1 (2 Feb 2019)
---------------------------
New:
* Added relational operators to the FunctionXD objects.
* Added abs() operator to FunctionXD objects.
* Square root (SqrtXD) and error functions (ErfXD) added to FunctionXD package.
* Added SpectralAdaptiveSampler1D and SpectralAdaptiveSampler2D.
* FullFrameSampler2D, RGBAdaptiveSampler2D, MonoAdaptiveSampler2D now supports pixel masks directly.
Bug fixes:
* MulticoreEngine render engine now passes back exceptions from worker processes and correctly terminates the render.
Release 0.6.0 (13 Nov 2019)
---------------------------
API Changes:
* Blend material modifier now blends the surface and volume by default. Use the surface_only and volume_only options to configure.
* Cython minimum, maximum and peak to peak methods can now cope with arbitrary strides.
* Interpolator2DMesh and Discrete2DMesh have import has changed from raysect.core.math.interpolators to raysect.core.math.function.
New:
* Added an Add material modifier than sums the contributions from two materials.
* Added emissivity function to BlackBody.
* Extended Spectrum cython mathematical methods to simplify combining Spectrum objects.
* Expanded the function framework:
- Constants are now autowrapped as ConstantXD objects automatically.
- Added PowXD, ExpXD, SinXD, CosXD, TanXD, AsinXD, AcosXD, AtanXD, Atan4QXD functions.
- Argument pass-through supported with ArgXD functions.
- Interpolation functions moved under raysect.core.math.function.
* Improved the Multicore render engine by batching work to reduce IPC overhead. Renders with smaller amounts of work per pixel are now substantially quicker.
* Improved multiple demos and related documentation.
Release 0.5.6 (24 Aug 2019)
---------------------------
Bug fixes:
* Surface normal calculation for the Cone primitive was incorrect, this has been fixed.
* Parabola tip intersection case was not handled fully, this has been fixed
* Increased size of integers holding ray counts as they could overflow for extremely long renders.
New:
* Added quaternions to the core math package.
* Added low level cython functions to calculate mininum, maximum and peak_to_peak for memoryviews. (contributor: Dr Jack Lovell)
* Added a material blending modifier to the raysect.optical.material.modifiers package.relational
Release 0.5.5 (4 Mar 2019)
--------------------------
API Changes:
* LoggingRay now logs the full intersection object, not just the hit point.
Bug fixes:
* Fixed recursive call bug triggered by inspecting the process attribute of MulticoreEngine.
* Added zip_safe=False to setup.py as installing Raysect as a zip file prevents access to cython .pxd files.
New:
* Improved behaviour of pipeline displays when raysect used in a jupyter notebook.
* Added ability to directly sample the BSDF of ContinuousBSDF materials.
* Added to_cylindrical and from_cylindrical coordinate system conversion functions.
* All spectral functions are now callable. Calling a spectral function evaluates it at the specified wavelength.
Release 0.5.4 (1 Oct 2018)
--------------------------
Bug Fixes:
* Spectrum class samples attribute is now publically accessible again, not readonly.
New:
* Optimised materials significantly by avoiding unnecessary memoryview creation, ~10-20% speedups depending on material.
* Optimised observers leading to less overhead per pixel.
* Added caching to 2D mesh interpolator evaluations.
Release 0.5.3 (30 Aug 2018)
---------------------------
Bug Fixes:
* Mesh load() not correctly populating vertex and triangle data arrays.
* Missing import guard for OpenCV camera, users no longer forced to install OpenCV!
* VTK importer no longer crashes when mesh name is None.
New:
* Pickle support added to all scenegraph objects. It is now possible to pickle a scenegraph.
* Mesh normals can be flipped during import/creation with new flip_normals argument.
* Optimised ImportanceManager gaining a 7% speedup for Cornell Box test case.
* Optimised method call in optical.Ray gaining a 2% speedup for Cornell Box test case.
Release 0.5.2 (7 Aug 2018)
--------------------------
API Changes:
* Etendue replaced with sensitivity in the observers. [#202]
Bug Fixes:
* Raysect now builds with Cython 0.28.
* Fixed pixel geometry changes not triggering a recalculation of the TargettedCCD pixel sensitivity. [#219]
New:
* Added MeshCamera. A camera that uses the triangles of a mesh as pixels. [#204]
* Added Spectral and Monochromatic 1D pipelines. [supporting #204]
* Added STL and OBJ mesh exporters. [#176]
* Added limited support for PLY and VTK mesh importing/exporting. [#209, #224]
* Added OpenCV camera. [#109]
* Added sub-sampling (anti-aliasing) to VectorCamera. [#222]
* Added masked samplers that allow users to limit the region being rendered. [#223]
* Added meta dictionary attribute to scene-graph nodes to allow users to attach their own data. [#218]
* Added is_identity() and is_close() comparison methods to AffineMatrix3D. [#199]
* Added angle() to vector objects to compute angle between vectors. [#205]
Release 0.5.0, 0.5.1 (7 Aug 2018)
---------------------------------
Bug Fixes:
* setup.py broke installation in pip.
Release 0.4.0 (11 Dec 2017)
---------------------------
API Changes:
* VolumeEmitterHomogeneous renamed HomogeneousVolumeEmitter.
* VolumeEmitterInhomogeneous renamed InhomogeneousVolumeEmitter.
Bug Fixes:
* Fixed normalisation bug in FibreOptic observer.
New:
* InhomogeneousVolumeEmitter integrator now pluggable.
* Added cosine weighted cone random vector sampler.
* Added cython utility for determining polygon winding order for n-sided polygons.
* Added triangulate2d function for splitting N-sided polygon into triangles.
* Added lerp and slerp functions to Vector3D.
* Added new utility methods to BoundingBox2D and 3D.
* Added AnisotropicSurfaceEmitter material.
* Added BoundingSphere3D.
* Added MeshPixel. A pixel that uses a mesh as a collecting surface.
* Added TargettedPixel. A pixel that fires additional samples at specific target primitives.
* Added TargettedCCDArray. A CCD that fires additional samples at specific target primitives.
* Added radiance pipelines.
* Added instancing to primitives.
* Added bounding sphere to primitives.
* Tidied up samplers.
Release 0.3.1 (17 Mar 2017)
---------------------------
Fixed:
* max_wavelength property of optical ray was broken.
New:
* Diamond demo.
Release 0.3.0 (8 Mar 2017)
--------------------------
New:
* Added multiple importance sampling (MIS).
* Added micro-facet based materials.
* Added 2D kd-tree and 2D mesh utilities
* Added parabola primitive.
* Added spherical lens primitives.
* Added render engine workflow model with engines targetting single core and multicore rendering.
* Added StatsBin and StatsArray objects.
* Added a set of utility containers (linked-lists etc..) for use in cython.
* Added metals and coloured emission spectra to the optical library.
Changes:
* Completely re-engineered optical observers.
- New pipeline architecture.
- Adaptive sampling.
- Framework simplifies development of new observers.
* Re-engineered spectral functions (API changes are minimal).
* Renamed num_samples and spectral_samples to bins and spectral_bins.
* Renamed ray_min_depth to ray_extinction_min_depth.
* Optimised the codebase for greater rendering performance.
* Updated lambert material to support MIS.
* Tidied up numerous internal interfaces.
Release 0.1.0 (16 Aug 2015) / Release 0.2.0 (2 Feb 2016)
--------------------------------------------------------
* initial development releases