thargor6 / mb3d Goto Github PK
View Code? Open in Web Editor NEWMandelbulb3D
License: GNU Lesser General Public License v2.1
Mandelbulb3D
License: GNU Lesser General Public License v2.1
Hey there - one of the most important things this project needs if it is to move forward is support for 64-bit platforms.
So, say that I successfully compiled with Lazarus - what then? Would it be a 64-bit application? Or is there code that needs to be ported over?
Hello,
I would like to contribute. Would you consider tagging releases on github?
Thanks,
coast
Hello, am wondering if JIT_EM_Transf_Fisheye8.m3f supports circular fisheye, thanks for clarifying. I'm new to dome projections, maybe you see a smarter approach. I've been rendering out animations from UE5 circular fisheye of scan-based scenes. These get converted to long/lat in Resolve Studio, which can then run in VR or in tilted half domes. I'm now needing to render animations out of MB3d, which I understand uses Schwarz–Christoffel mapping. Is there possibly a more direct path to long/lat than through circular fisheye, seeming that Schwarz–Christoffel and long/lat are both square?
Much appreciated!
Having an issue with MB3D (latest) where all animations start their render position a few frames after the set start.
Below is an image I rendered of the actual first frame of an example animation. It is the first frame I set for the animation. (The camera is moving left in this example)
And here is the first image it output after starting the animation render.
This problem seems to occur all the way back to v1.99.0, and I would assume 1.98 as well.
It is very irritating, as my workflow requires very very precise timing in regards to frames - I sync to music.
https://github.com/thargor6/mb3d/blob/66c45c98eb666e1cb0ccb8aaf36bccbb3fc574d2/LightAdjust.dfm
Line: 1575.
Hint = 'Oject colors on cuts and 2d inside, click to change them.'
Should say:
Hint = 'Object colors on cuts and 2d inside, click to change them.'
Thanks for still developing new functions of MB3D. What you are doing to MB3D is amazing.
First of all - thank you for your work !!!!
After choosing a "Output file" destination via the button, the dropdown to choose filetypes doesn't show the new features anymore but only:
Mesh (.obj)
Tracedata (.btracer2)
Thanks a lot, Andreas
Andreas et al,
Greetings! I'm an indie dev of many sorts for 30 years, shipping a lot of 3D software. Historically, I've rolled my own cross-platform 3D engines but in the last 5 years I've mostly stuck with Unity. Happy to go into detail, but my experience is in procedural real-time effects and app architecture.
I wanted to do a shoutout to @thargor6 and others passionate about Manelbulb and get a head-count who might want to contribute towards a port of this codebase to a multi-platform Unity app. Yes, it's a lot of work, but it's absolutely reasonable for 3 devs each specializing in a role:
.m3f
presets using a converter myself or another would maintain..m3f
, or perhaps generate camera paths that work a particular preset).Personally, I would just want to see this come to life, see it available on multi-platform (iOS and Android included!), and be able to use for background visuals.
I have found complex vector maths to find the vertex normals. things like crossproduct use a square root which requires the same processing as about 50 compare functions. I believe this entire function TRayCaster.CalculateNormal can be 9x faster, it is consuming 90 percent of the time taken to make a meshable point cloud.
If i could read pascal, I would change that function with something very simple... Vertex and Normal calculated in the same loop. to get normals very fast, ready 6 (array stored) formula values for +x-x +y-y +z-y, and abort the loop as soon as you have found an empty space in the immediate periphery. the nromal will be straight, but it will point outside the surface and programs can use that to mesh with.
so, vertex is averaged between the 6 neighbor values of inside and outside, and normal points simply towards the outside from the inside , using table normals which are assigned 6 possible options. else the 6 neighbor check can start with 0,0,0 normals and replace the 0's with 1's untill you get all combinations of 000 to 111 -111 in a Vector3.
In meshlab afterwards, all the vertices stay in the same place and are anti-aliased because all points along a segment come from 2 isovalues/2...
You can optimize the precission massively by only adding to vertex list, vertices and normals that have more than 1 empty neighbor cube from the loop, so you randomly throw out 90% vertices with (0.0.1)or(0,-1,0) type normals, less variety /flat areas get decimated by 90 percent, and high convolution areas have 100 percent of data save as a point cloud.
That's an info/data compression method that you can adjust from 0-90 percent, to plot 4000x4000x4000 point clouds in 30 minutes at 0-90 percent optional compression gradient.
TDVectorMath.Assign(@axis, @direction);
TDVectorMath.Normalize(@axis);
TDVectorMath.NonParallel(@A, @axis);
TDVectorMath.CrossProduct(@A, @axis, @t[0]);
TDVectorMath.Normalize(@t[0]);
So...
Why exactly isn't there a readme?
Would it get in the way when you compile or something?
I'd like the ability to run mandelbulb3d from the commandline, passing an m3a file and a frame range, and potentially also an output directory.
The use-case I have in mind is for setting up a build farm where multiple machines are used to render an animation simultaneously. Today, my work-flow involves copying the m3a file to each machine, loading up the mb3d GUI on that machine, and specifying the frame ranges to render. I keep track of which machines are rendering which ranges in a txt file. If I could script all of that, it would save me quite a bit of effort.
I have located where the marching cubes may be getting the wrong information from the ISO space so that it doesnt make any vertices in the middles of cubes...
It is probably related to this line, unfortunately I can't read Inc.sgl and cube ^weight.
The 8 corners of the cube need the ISOvalue to decide what shape triangle and where to place the vertices on the cube in between any 2 isovals.
begin
Result := 0;
for I := 0 to 7 do begin
if (Cube^.V[I].Weight ) > RefIsoValue then
Inc(Result, 1 shl I);
It's something of a 0 to 7 loop. Oddly I found similar marching cubes cobe also on a different page:
for I := 0 to 7 do begin
MCCube.V[I].Weight := CalculateDensity(@MCCube.V[I].Position);
10Gb cube "phaze shading ISO file", where the image stacks can even be a big AlphaISO file called NRRD.
Generate White Layers StandardPass AlphaISO is simply A variable type cast modification to d:= in VoxelExport.pas to 32 bit.
streaming the CalcDE(@Iteration3Dext, @MCTparas) results to the individual bits inside the NRRD file.
Save that d:=CalcDE(@Iteration3Dext, @MCTparas); line straight to this format if you have time, with safefile generic ASCII nrrd prefix standard parse.
teem.sourceforge.net/nrrd/files/fool.nrrd
Generate white layers standard parse as AlphaIsoDeScanner using that page in line 299-310.
don't write the variable logic routing, for now scheduled to a new floating point var: AIDS: AlphaIsoDeScanner;
So! it
var AlphaIsoDE = CalcDE(@Iteration3Dext, @MCTparas)/100; //Div 100 as no time to research AlphaISO maths, only save to stack/nrrd.
AlphaIso can load white layers into 3DSlicer which has white layers because it's a doctor program. it's a White Layers StandardPass write to NRRD format.
Greetings,
What are the thoughts regarding cloud compilation of the binaries?
Thanks,
coast
Extracted the contents of the zip file but there doesn't appear to be any .exe file of which the instructions refer to.
Ive checked to make sure windows defender isn't flagging it or something. And checked through the other various folders.
Hello, thanks for putting this out in the open!
Do you think there is a chance it would compile on Linux?
For the sake of native performance of course, things are quite laggy through wine.
I'm on Ubuntu 16.10. It has the free pascal compiler, but I'm lost for which file to open and compile.
Can it import custom camera?
REF http://wiki.freepascal.org/Delphi_Converter_in_Lazarus
REF http://www.fractalforums.com/mandelbulb-3d/mandelbulb3d-source-code-t21204/
mb3d currently compiled in delphi (asume Delphi XE6)
First issue encountered is Vcl.Themes Vcl.Styles
Receiving error messages on both Versions 35 and 37 using Mutagen with these parameters.
Mandelbulb3Dv18{
g.....9/..kq1...w....EU..AECVWkKI739.BL.L4QkFz3EvXIgWpoyZ.wimofpfTn6.NPV/Cruim0E
................................fUArRrQvq.2........Y.lNE................y.YNaNsD
...U.7...........621/.....EJQ...g2....Eg.....M4yWAL3KFlD...JjZ.ELbiRvckpXm1....c
zEEnAnID12..02E...hv4Q/tzGpsZi7l.vyD1..Ex8bvKzH....5gW6iz0U0.....y1...sD...../..
.z1...sD7AIx90yuEwXZWRkqQk3zyC8uUSFMM4lD.PBRF96TAw9.1Y0tT733zq00PfCJ7MjDnhSpObm1
7wHVDyzm6pk0zG6olrJ..4ljU.....2.Q..............E.U....sD..G.....................
..............aEWq....sDR4FlxoycwrjdXiSut.........................E/94/Es....U/.
.....83iyz1.....7yzz.wTjP/UR.c0.O/...Q7....H.........s9...kszzzzpzzzz13......Fj6
...U.yoPxxTEGd3UXYnD.cfqY16.0s..1FIF..UPaXCalayj6ACesUB8SzX...........k.8.kYjd2.
.A72QifFDz1.H0/bvOonz0...........6U0.YnFP/..fjrwdvgqzs/Fbf24LNyD..........E.2c..
zzzz.............0...................EEAVszz9v3..wCxDe520z98Lx13HPUpz0U1keCrVQ/k
26/3yzDlJ/..y7sgDCRkz..ADOsW3Kxj.YgRrQMAL.A..c6Uc/UBkMXB3fUWhl2.Z/aJZJQ3gK8X.g2I
E/pwT6sQL/kIFVoID0nW846.ZJKOdtXCvV4E.k/6M.0VERsUu/.NZdaO/xJX7S6.nAHAnEjO5uLO.UQk
rWQcs3dUU/UeaWee...y3q/bDF0k.1Akd63yATomqy5y3q/b................................
E../2Ek.m6E.....I....U....kLo7LMiBbNj7LP.A3.4B3...........................E/3IU.
...................wz........................................0/E.......6q.A.....
..WF.1........zD..................kD./..........................................
.....................2.....3....A....oINiRKNmhoPXV4.H/..........................
.....MU/4MU/4........E8QxckpXWzD8QxckpX0bzX0LD8Qxcktz........./E..........kAnAnA
nAnkz0..................................................Uz1........sz0..........
...................yz.........../....M....k.....4x4PYZaPb/GGiF56ExqR............
..........U0.U............................2.......U2.1.......Y.E................
................................................................................
..........................................k/....I....U....EEh3aSdtqNUAJRmN4.iZ2R
n/....................k/.MU/4.U...........Uo.sh.7cMwzcXSLVN4FSujAnAnAnAr1.2KJWB2
r/JmzqX0LD8QxZ1kTIsuFVfDU.A.....................UJJJJJJJZzHJJJJJJJpA./..........
........................................................}
{Titel: PongT3Marijke40_SPT}
When using zoom (previously marked F6) in Navigation window, the steps are usually too high and I have to send the parameters I'm using into main windown and then to position and correct the zoom number. A good thing would be to be able to edit the zoom like any other value of the navi, doing double click with the mouse and set the number.
Thank you
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.