[Pharo-dev] how can I have a working roassal 3d ?

Ronie Salgado roniesalg at gmail.com
Wed Apr 30 21:37:07 EDT 2014


You don't draw a shape with an array of points, unless you are using a
voxel engine or a volumetric renderer. In 3D graphics you usually are
drawing surfaces composed of triangles. There's R3MeshBuilder and
R3MeshShape for drawing generic meshes. I believe there examples are a bit
hidden. For each vertex in a triangle you have specify:
- Position
- Surface normal value at position
- Color
- Texture coordinates. Used if the material has a texture.

In 3D, the problem of fractals is what kind of fractal you want make. A
rough classification is like this:
- 2D textures
- Solid textures
- Displacement maps. This is used for terrain heights.
- Hyper-textures

For images of them, this talk of Ken Perlin
http://www.noisemachine.com/talk1/  is really good.
The first three ones are easy to make, but to do them efficiently and
animated in real-time you need offload the computation to the GPU by using
shaders or OpenCL.

A hyper texture defines a density function for each point in the space.
This requires a volumetric renderer. which is really hard to make in
OpenGL. But you get volumetric smoke, clouds and very cool things.

I actually have to make a demo with fractal/multifractal terrains, for a
course about computational geometry I am taking, and I choose to use Pharo.
But I want to use OpenCL for the computation because I can make things more
flexible easily but in the expense of complicating the synchronization. I
am starting this personal project to start making a 3D game engine in Pharo
and also for as an opportunity to take all the low-level graphics out of
Roassal 3D.

When I have something to show, I will be posting it.

Regards
Ronie

2014-04-30 19:43 GMT-04:00 Clément Bera <bera.clement at gmail.com>:

>
>
> 2014-04-30 11:32 GMT-07:00 Ronie Salgado <roniesalg at gmail.com>:
>
> Hi Clément,
>>
>> There is not a stable version available, in fact Roassal3D requires the
>> bleeding edge version of NBOpenGL to work, which is producing your error.
>> Try loading Roassal3D using the following Gofer script, which is available
>> in the Roassal3D smalltalk hub
>> http://smalltalkhub.com/#!/~ronsaldo/roassal3d :
>>
>> Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package:
>> 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d)
>> loadDevelopment
>>
>> For 3D fractals, I haven't added support for them. That sounds like an
>> interesting idea.
>>
>
> What do you mean there is no support for fractals ? Can you draw a 3D
> shape based on an Array of Point3D ?
>
> Fractals are nice because they impress people on demos and they are fun to
> implement, however I don't know if they represent a common use case for
> business applications.
>
> Regards
> Clement
>
>>
>> Greetings,
>> Ronie
>>
>>
>> 2014-04-30 14:09 GMT-04:00 Sven Van Caekenberghe <sven at stfx.eu>:
>>
>> The 2D stuff works for me, but there seems to be a problem with the 3D
>>> stuff.
>>>
>>> I hope the Rossal developers can fix this soon, since we're showing off
>>> Rossal with the 3.0 release....
>>>
>>> On 30 Apr 2014, at 18:53, Clément Bera <bera.clement at gmail.com> wrote:
>>>
>>> > Hello,
>>> >
>>> > I wanted to show some 3D visualization with Pharo to some people
>>> (because you know, non IT people are only impressed by robots and 3d, so I
>>> cannot show them a compiler).
>>> >
>>> > On the Pharo 3 release, in the configuration browser, I clicked on
>>> Roassal3d then 'Install stable version'.
>>> >
>>> > Then I was not able to run a single example of R3Example, I always got:
>>> >
>>> > <Screen Shot 2014-04-30 at 9.51.42 AM.png>
>>> >
>>> > How can I have an image with Roassal3D working ?
>>> >
>>> > I would like to try to draw a 3D fractal too (I love fractals).
>>> >
>>> > Thanks !
>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20140430/65563204/attachment-0002.html>


More information about the Pharo-dev mailing list