POV-Ray : Newsgroups : povray.general : .NET distributed POV Server Time
7 Aug 2024 11:23:16 EDT (-0400)
  .NET distributed POV (Message 1 to 10 of 14)  
Goto Latest 10 Messages Next 4 Messages >>>
From: Ben Martens
Subject: .NET distributed POV
Date: 2 Nov 2001 19:41:25
Message: <3be33d35@news.povray.org>
I'm tossing around ideas for a .NET programming contest.  One idea was to
build a distributed POV system based on .NET.  I've seen quite a few systems
that do this with other architectures.  In my random thoughts so far, I've
come across two potential problems.  If anyone can offer any advice I would
really appreciate it:

1)  I know it's possible to render parts of an image using command line
switches.  However, if I send parts of a picture to different computers,
this is going to mess up anti-aliasing, correct?  I suppose this could be
avoided by post-processing.  Or is there a way to do anti-aliasing in this
situation?

2)  Do I need to write my own routines to stitch the picture back together,
or is there any easy way to accomplish this?

3)  I would like to support any platform that can run Povray.  What is the
best way to tell POV to render a file?  Should I just pass it a command
line?  If that's the case, are all the command lines the same across
platforms or would I need separate commands for Linus, Windows, etc.?

Thank you for any help,
-Ben
http://bwmartens.tripod.com


Post a reply to this message

From: Chris Jeppesen
Subject: Re: .NET distributed POV
Date: 2 Nov 2001 20:01:46
Message: <3be341fa@news.povray.org>
"Ben Martens" <bma### [at] purdueedu> wrote in message
news:3be33d35@news.povray.org...
> I'm tossing around ideas for a .NET programming contest.  One idea was to
> build a distributed POV system based on .NET.  I've seen quite a few
systems
> that do this with other architectures.  In my random thoughts so far, I've
> come across two potential problems.  If anyone can offer any advice I
would
> really appreciate it:

I have been working on something like this for myself in Java, which I call
the "Atomic Banana Peeler" (ABP)

>
> 1)  I know it's possible to render parts of an image using command line
> switches.  However, if I send parts of a picture to different computers,
> this is going to mess up anti-aliasing, correct?  I suppose this could be
> avoided by post-processing.  Or is there a way to do anti-aliasing in this
> situation?

ABP takes no special steps to prevent this problem, but I have examined the
images it produces closely and cannot see any seam in them, even in highly
AA-d pictures. Either POV handles it internally or it is an effect human
vision does not pick up.

If it really is a problem, I suppose that you should render one extra row of
pixels in each strip, and remove the extras when you stitch it.

>
> 2)  Do I need to write my own routines to stitch the picture back
together,
> or is there any easy way to accomplish this?

I do not think there is any way to easily stitch images back together.
Normally I render .PNG files, but neither Paint Shop Pro nor any Java image
library I could find could do anything with a .PNG partial render. My
program renders vertical strips as TGA images, and then stitches those,
because a TGA rendered in vertical columns has black space in each row of
pixels where it didn't render, making it easy to process.

>
> 3)  I would like to support any platform that can run Povray.  What is the
> best way to tell POV to render a file?  Should I just pass it a command
> line?  If that's the case, are all the command lines the same across
> platforms or would I need separate commands for Linus, Windows, etc.?

.NET? Cross Platform? I didn't think these could be held in the same
thought. ABP uses exactly the same command line for rendering in Windows and
Linux, except for the /RENDER /EXIT in windows.

> Thank you for any help,
> -Ben
> http://bwmartens.tripod.com
>

Hope this helps some.

Chris

#local N=16#local W="/h>m8X=X7KJXFXWhjhKMa$Q$AD390$&<"#macro K()#declare A
=A+1asc(substr(W,A,1))*2/N-4#end#local A=0plane{z,-2normal{ripples}finish{
reflection.9}}camera{sky z location 1+7*y look_at -z}light_source{y*N,1}
sky_sphere{pigment{gradient z color_map{[0rgb z+y/2][1rgb 0]}}}difference{
cylinder{-y/8,y/8,2}prism{-N,N,N#while(A<N*2)<K(),K()>/2-<34,44>/N#end}
pigment{color x+y/2}} //http://ryooki.digiquill.com/ Kwan Systems! 2001


Post a reply to this message

From: Warp
Subject: Re: .NET distributed POV
Date: 3 Nov 2001 07:12:10
Message: <3be3df1a@news.povray.org>
Ben Martens <bma### [at] purdueedu> wrote:
: 1)  I know it's possible to render parts of an image using command line
: switches.  However, if I send parts of a picture to different computers,
: this is going to mess up anti-aliasing, correct?

  Nope. POV-Ray has no problems with antialiasing with split images. This
is because it always calculates one extra line above the current first line
(haven't you noticed that POV-Ray calculates line 0?).

  What DOES cause problems is radiosity.

: 2)  Do I need to write my own routines to stitch the picture back together,
: or is there any easy way to accomplish this?

  If you output the images to raw TGA format, joining them is extremely easy
to do (even with plain unix tools). I have done this. Just take the first
image as is, and append the other images to it but each from byte 19 onwards
(the first 18 bytes are the header of the TGA).

-- 
#macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
],13),8)-3,10>#end blob{N(array[6]{11117333955,
7382340,3358,3900569407,970,4254934330},0)}//                     - Warp -


Post a reply to this message

From: Warp
Subject: Re: .NET distributed POV
Date: 3 Nov 2001 07:13:10
Message: <3be3df55@news.povray.org>
Chris Jeppesen <chr### [at] digiquillcom> wrote:
: ABP takes no special steps to prevent this problem, but I have examined the
: images it produces closely and cannot see any seam in them, even in highly
: AA-d pictures. Either POV handles it internally or it is an effect human
: vision does not pick up.

  No, POV-Ray does calculate it correctly. It first renders the line above
the first line (line 0) and it then can antialias the first line correctly.

-- 
#macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
],13),8)-3,10>#end blob{N(array[6]{11117333955,
7382340,3358,3900569407,970,4254934330},0)}//                     - Warp -


Post a reply to this message

From: Mike Williams
Subject: Re: .NET distributed POV
Date: 3 Nov 2001 07:53:47
Message: <3gDa3JAkJ747EwA2@econym.demon.co.uk>
Wasn't it Ben Martens who wrote:
>I'm tossing around ideas for a .NET programming contest.  One idea was to
>build a distributed POV system based on .NET.  I've seen quite a few systems
>that do this with other architectures.  In my random thoughts so far, I've
>come across two potential problems.  If anyone can offer any advice I would
>really appreciate it:

One overall point to bear in mind is that it would be a good idea to
wait for pov 3.5 to become stable before attempting anything like this.
3.5 has a feature called "I/O restrictions" which you can use to prevent
malicious scene files from doing #fopen, #read and #write on any file on
the computer.

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: Ben Martens
Subject: Re: .NET distributed POV
Date: 3 Nov 2001 10:33:14
Message: <3be40e3a$1@news.povray.org>
This is great.  Thank you for all the advice (and I'm always open to more!)
I just wanted to address the .NET question...

Chris wrote:
>> .NET? Cross Platform? I didn't think these could be held in the same
thought.

.NET, contrary to what the anti-Microsoft press would lead you to believe,
IS very cross platform.  That is the beauty of it.  I'm still learning about
it, but basically you can write in any language.  Those chunks you make from
different languages can all interact in the same program seemlessly.  This
is because .NET compiles to an intermediate language.  After the program is
in that intermediate language, any platform with the .NET framework can run
it.  Obviously they the Windows one is already working.  I know a Linux port
is in the works, and I think a Mac one may be finished already(?).  It's
really very neat technology. As I mentioned, I'm just starting to learn, but
the bottom half sounds similar to Java.  Except that this actually works.
Sun had so many chances with Java but screwed them all up and never
delivered on their promises about true cross-platform, etc... but I don't
want to start a flame war.

Thanks again for the help,
-Ben


Post a reply to this message

From: Jon A  Cruz
Subject: Re: .NET distributed POV
Date: 3 Nov 2001 11:51:26
Message: <3BE4206F.DE285497@geocities.com>
Ben Martens wrote:

> This is great.  Thank you for all the advice (and I'm always open to more!)
> I just wanted to address the .NET question...
>
> Chris wrote:
> >> .NET? Cross Platform? I didn't think these could be held in the same
> thought.
>
> .NET, contrary to what the anti-Microsoft press would lead you to believe,
> IS very cross platform.  That is the beauty of it.  I'm still learning about
> it, but basically you can write in any language.

Well....
Yes and no.

Yes, the language of .NET is supposed to be cross-platform. The exact same way
the OS of WindowsNT/2K/XP is supposed to be cross-chip. Of course, how many
chips is XP shipping for? Alpha? PowerPC?...

And the same way that NT 3.5 and NT 4 had pluggable filesystem support. But how
long was it before Microsoft added a FAT32 pluggable filesystem for cross-OS
support? Can you say "never" boys and girls?

Anyway, the language is cross-platform, but the key libraries are not. That's a
gotcha to keep your eyes on. Even if someone else clones them, you still have
compatiblity issues like with WINE.


from http://java.oreilly.com/news/farley_0800.html

> Portability: The .NET core works on Windows only but theoretically supports
> development in many languages (once sub-/supersets of these languages have
> been defined and IL compilers have been created for them). Also, Net's SOAP
> capabilities will allow components on other platforms to exchange data messages
> with .NET components. While a few of the elements in .NET, such as SOAP and
> its discovery and lookup protocols, are provided as public specifications, the core
> components of the framework (IL runtime environment, ASP+ internals, Win
> Forms and Web Forms component "contracts", etc.) are kept by Microsoft, and
> Microsoft will be the only provider of complete .NET development and runtime
> environments. There has already been some pressure by the development
> community for Microsoft to open up these specifications, but this would be
> counter to Microsoft's standard practices.
>

But if you look at it as a replacement for working with COM/ActiveX (although
it really is just the next extension of those) and with VisualBasic, then it
seems like a huge stride in a better direction.

On Project Mono, the Linux effort, they mention that they're not interested in
much more than the development infrastructure part, and "We're not interested
in Passport or SQL"...

I think somewhere in summer they expect to have an initial cut with GUI stuff
working.

Oh, and from the Mono FAQ:


> Question 20: What is a 100% .NET application?
>
> A `100% .NET application' is one that only uses the APIs defined under the
> System namespace and does not use PInvoke. These applications would in
> theory run unmodified on Windows, Linux, HP-UX, Solaris, MacOS X and others.
>
--
Jon A. Cruz
http://www.geocities.com/joncruz/action.html


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: .NET distributed POV
Date: 3 Nov 2001 12:02:31
Message: <3be42327@news.povray.org>
In article <3BE4206F.DE285497@geocities.com> , "Jon A. Cruz" 
<jon### [at] geocitiescom> wrote:

>> .NET, contrary to what the anti-Microsoft press would lead you to believe,
>> IS very cross platform.  That is the beauty of it.  I'm still learning about
>> it, but basically you can write in any language.
>
> Well....
> Yes and no.
>
> Yes, the language of .NET is supposed to be cross-platform. The exact same way
> the OS of WindowsNT/2K/XP is supposed to be cross-chip. Of course, how many
> chips is XP shipping for? Alpha? PowerPC?...
>
> And the same way that NT 3.5 and NT 4 had pluggable filesystem support. But
> how long was it before Microsoft added a FAT32 pluggable filesystem for
> cross-OS support? Can you say "never" boys and girls?
>
> Anyway, the language is cross-platform, but the key libraries are not. That's
> a gotcha to keep your eyes on. Even if someone else clones them, you still
> have compatiblity issues like with WINE.

Especially as there is a well-established way to communicate over a network,
and it comes with two very common APIs of which either is supported on every
platform you can hook up to the Internet:  Sockets or Streams

And you can run any light-weight high-level protocol over them.  After all
the last thing desired is slower rendering because of a slow (=bloated)
protocol running over a modem connection so all render servers are only
waiting...

    Thorsten


Post a reply to this message

From: Dan Byers
Subject: Re: .NET distributed POV
Date: 3 Nov 2001 15:16:07
Message: <B809AD89.360E%goofygrafx@aol.com>
in article 3be33d35@news.povray.org, Ben Martens at bma### [at] purdueedu
wrote on 11/2/01 6:41 PM:

> I'm tossing around ideas for a .NET programming contest.  One idea was to
> build a distributed POV system based on .NET.  I've seen quite a few systems
> that do this with other architectures.  In my random thoughts so far, I've
> come across two potential problems.  If anyone can offer any advice I would
> really appreciate it:
> 
> 1)  I know it's possible to render parts of an image using command line
> switches.  However, if I send parts of a picture to different computers,
> this is going to mess up anti-aliasing, correct?  I suppose this could be
> avoided by post-processing.  Or is there a way to do anti-aliasing in this
> situation?
> 
> 2)  Do I need to write my own routines to stitch the picture back together,
> or is there any easy way to accomplish this?
> 
> 3)  I would like to support any platform that can run Povray.  What is the
> best way to tell POV to render a file?  Should I just pass it a command
> line?  If that's the case, are all the command lines the same across
> platforms or would I need separate commands for Linus, Windows, etc.?
> 
> Thank you for any help,
> -Ben
> http://bwmartens.tripod.com

I'm almost done with a little app I wrote in AppleScript which would allow
me to remote-render pov files via email... it's pretty basic - I can only
really render with the default settings, but tests have worked so far...
maybe I'll post my finished script in one of the binary folders here, if
there's an interest...

-- 
dan
http://hometown.aol.com/goofygrafx
(to reply, substitute 'home' for 'aol')


Post a reply to this message

From: Daniel Matthews
Subject: Re: .NET distributed POV
Date: 3 Nov 2001 19:10:20
Message: <1122264.eGJsNajkDb@3-e.net>
Talk to these guys
http://www.imp.org/

Ben Martens wrote:

> I'm tossing around ideas for a .NET programming contest.  One idea was to
> build a distributed POV system based on .NET.  I've seen quite a few
> systems
> that do this with other architectures.  In my random thoughts so far, I've
> come across two potential problems.  If anyone can offer any advice I
> would really appreciate it:
> 
> 1)  I know it's possible to render parts of an image using command line
> switches.  However, if I send parts of a picture to different computers,
> this is going to mess up anti-aliasing, correct?  I suppose this could be
> avoided by post-processing.  Or is there a way to do anti-aliasing in this
> situation?
> 
> 2)  Do I need to write my own routines to stitch the picture back
> together, or is there any easy way to accomplish this?
> 
> 3)  I would like to support any platform that can run Povray.  What is the
> best way to tell POV to render a file?  Should I just pass it a command
> line?  If that's the case, are all the command lines the same across
> platforms or would I need separate commands for Linus, Windows, etc.?
> 
> Thank you for any help,
> -Ben
> http://bwmartens.tripod.com


Post a reply to this message

Goto Latest 10 Messages Next 4 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.