|
|
Le 2020-03-24 à 09:14, Oblomov a écrit :
> Hello,
> and thanks for taking time to look into this and provide an explanation:
>
> William F Pokorny <ano### [at] anonymousorg> wrote:
>>> The `difference` is intentionally ‘useless’, since it's only supposed to
>>> illustrate the odd behavior: both walls are rendered. Replacing the `difference`
>>> with a direct use of the object `object { Pair pigment { color White } }` works
>>> as expected, as does using a union instead of a difference (in both cases, a
>>> single wall is visible, albeit with a shadow cast from the other, invisible
>>> wall).
>>>
>>> I'm not entirely sure if this behavior is expected or a bug. In the latter case,
>>> should I open a GitHub issue?
>>>
>>
>> Hi,
>>
>> I believe what you see is expected behavior
>
> I was actually hoping for this to be a bug, since achieving the same effect will
> require me to restructure the source in a somewhat «illogical» way: I was hoping
> to be able to define a Room object with all the walls and floors and ceilings
> and holes in them, and make one of the walls “see-through” for the camera. I
> guess now I'll have to build the rooms without the see-through wall at all and
> then add it (with the no_image tag) as a separate object. I guess I'm lucky I
> don't need to operate complex transformations on the rooms themselves, so this
> will be relatively easy.
>
For that «see through» wall : You can replace that wall with a polygon
and give it a regular texture and an inside_texture with pigment{rgbt 1}.
When seen from the front, you see the normal texture, but, when seeing
it from the back, it will be perfectly transparent.
Another way would be to define your room as a mesh with an
inside_vector. You then give it : pigment{rgbt 1} and an
interior_texture with the texture for the walls.
That way, when the camera is inside the room, everything will look
normal, but, when the camera is outside, the walls facing the camera
will be invisible.
Not perfect as lights that are outside of the room will see the
transparent part and shine through.
Post a reply to this message
|
|