Coder Social home page Coder Social logo

mb3d's People

Contributors

thargor6 avatar zeyu-li avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mb3d's Issues

Support for 64-bit platforms

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?

tag releases on github

Hello,

I would like to contribute. Would you consider tagging releases on github?

Thanks,
coast

Fisheye question

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!

Animations start on the wrong frame

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)
test

And here is the first image it output after starting the animation render.
new000001

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.

1.99.12 - BulbTracer2 - "Save type" DropDown

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

Mandelbulb for Unity -- a call to devs

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:

  1. OG dev: someone who knows the existing codebase closely and could answer questions from the other devs in detail -- no coding needed.
    • this role allows the other devs to focus on their parts rather than trying to grok the original codebase.
    • If you're not a native english speaker, OG means "original gangster" and is a compliment that salutes whose who originally were the first to be with a challenge.
  2. Rendering dev: a math and shader rockstar to help handle the shader side of things as well as help troubleshoot and improve the output of .m3f presets using a converter myself or another would maintain.
  3. Unity dev: myself and others like me who know Unity well to handle the bulk of the work, UI, and create the rendering pipeline & scaffolding. One cool thing up my sleeve is a Go-to-C# bridge that allows us to dynamically do heavy lifting in Go and then get the output into Unity at runtime (e.g. output dynamically created shader code based on a .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.

Optimizing Normals of point cloud 10x faster

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]);

Readme?

So...
Why exactly isn't there a readme?
Would it get in the way when you compile or something?

feature request: render frame range from command-line

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.

Marching cubes small error

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);

Upgrade suggestion sin the slice render engine

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.

Last DIFs column

The formulas in the last right hand DIFs column are not searchable from the formula search bar.
Screenshot (1374)

no Mandelbulb3D.exe in zip?

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.

compiling on linux

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.

Mutagen

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}
Screenshot (1322)
Screenshot (1323)

Feature request: Zoom editable from Navigation window

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.