POV-Ray : Newsgroups : povray.advanced-users : MegaPOVPlus 0.3.1 released Server Time
27 Nov 2024 02:44:05 EST (-0500)
  MegaPOVPlus 0.3.1 released (Message 1 to 1 of 1)  
From: Chris Huff
Subject: MegaPOVPlus 0.3.1 released
Date: 10 Sep 2000 16:23:08
Message: <chrishuff-CF0B88.15245710092000@news.povray.org>
This version plugs several memory leaks and adds some new features to 
the glow patch. A Mac application, source code, and documentation have 
been uploaded, I am working on updated demo scenes, and I will post a 
Windows version as soon as someone e-mails me one. Also, I made sure to 
use different file names this time, so there shouldn't be that sillyness 
with downloading a cached version of the old files which happened last 
time.

http://homepage.mac.com/chrishuff/povpatch.html


BTW, I hope I set this post up right this time...replies should go to 
povray.unofficial.patches now, instead of being scattered across the 
newsgroups.

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Alan Kong
Subject: Re: MegaPOVPlus 0.3.1 released
Date: 10 Sep 2000 22:19:25
Message: <l8gorso88hlbd57e2qrognoorkkue25j2t@4ax.com>
On Sun, 10 Sep 2000 15:24:57 -0500 Chris Huff <chr### [at] maccom> wrote:

>BTW, I hope I set this post up right this time...replies should go to 
>povray.unofficial.patches now, instead of being scattered across the 
>newsgroups.

  Well, let's find out... <s>

-- 
Alan - ako### [at] povrayorg - a k o n g <at> p o v r a y <dot> o r g
http://www.povray.org - Home of the Persistence of Vision Ray Tracer


Post a reply to this message

From: Y Tanabe
Subject: Re: MegaPOVPlus 0.3.1 released
Date: 12 Sep 2000 01:17:59
Message: <39BDBC96.89EDEBFD@kh.rim.or.jp>
Dear Mr. Chris Huff

I am compiling Mega POVPlus0.3.1 under MrC in MPW.
The glow functions work fine,but a below file of IRTC 8/2000 crashes.
/*
  "Sinking" ("Naufragio")
  Raytraced with MegaPOV 0.5a
  Jaime Vives Piqueres, (?)2000.
  Entry for the 07-08-2000 round of the IRTC, topic "SEA".
*/

But crashes place different MPW and your Official like MegaPOV 0.3.1.
And Mega POVPlus 2.05 work fine the above file.

Best Regards

Y.Tanabe
Kobe,Japan

tec### [at] khrimorjp


Chris Huff wrote:

> This version plugs several memory leaks and adds some new features to
> the glow patch. A Mac application, source code, and documentation have
> been uploaded, I am working on updated demo scenes, and I will post a
> Windows version as soon as someone e-mails me one. Also, I made sure to
> use different file names this time, so there shouldn't be that sillyness
> with downloading a cached version of the old files which happened last
> time.
>
> http://homepage.mac.com/chrishuff/povpatch.html
>
> BTW, I hope I set this post up right this time...replies should go to
> povray.unofficial.patches now, instead of being scattered across the
> newsgroups.
>
> --
> Christopher James Huff
> Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
> TAG: chr### [at] tagpovrayorg, http://tag.povray.org/
>
> <><


Post a reply to this message

From: Y Tanabe
Subject: Re: MegaPOVPlus 0.3.1 released
Date: 12 Sep 2000 23:44:08
Message: <39BEF817.2AB0053E@kh.rim.or.jp>
Dear Mr. Chris Huff

I am compiling Mega POVPlus0.3.1 under MrC in MPW.
under MPW MrC compiler work glow and #set function well and blob does not
crash.

use MegaPOVPlus3.01 files as follows and other MegaPOVPlus2.05 files
/***********************************************************/
glow.c
glow.h
lighting.c
vbuffer.c

/***********************************************************/
modify files for MegaPOVPlus2.05 to glow and #set
/***********************************************************/

frame.h
add:
#define SetPatch /*Chris Huff 2000.8.30*/
#define GlowPatch /*Chris Huff 2000.9.01*/
/***********************************************************/

parse.c
add:
#ifdef GlowPatch
#include "glow.h"
#endif

change:
from
static void  Parse_Warp(WARP **Warp_Ptr);
to
void    Parse_Warp(WARP **Warp_Ptr);

add:
static OBJECT *Parse_Light_Source(void)

#ifdef GlowPatch
CASE(GLOW_TOKEN)
{
 GLOW  *NewGlow = Create_Glow();

 Assign_Colour(NewGlow->Colour,Object->Colour);
 Assign_Vector(NewGlow->Center,Object->Center);
 Parse_Glow(NewGlow);
 Add_Glow(NewGlow);
}
END_CASE
#endif

add:
OBJECT *Parse_Object(void)

#ifdef GlowPatch
CASE(GLOW_TOKEN)
{
 GLOW *NewGlow = Create_Glow();
 Parse_Glow(NewGlow);
 Add_Glow(NewGlow);
}
END_CASE
#endif

add:
void Destroy_Frame(int destroyAllObjects)

 #ifdef GlowPatch
    Destroy_Glow_List(Frame.Glows);
    Frame.Glows = NULL;
 #endif

add:
static void Frame_Init(void)

 #ifdef GlowPatch
    Frame.Glows = NULL;
 #endif

change:
#ifdef SetPatch
void Parse_Declare(int Modify_Only)
#else
void Parse_Declare(void)
#endif

add and change:
/*Chris Huff 2000.8.30 - added #set */
#ifdef SetPatch
  Local_Flag = (Token.Token_Id == LOCAL_TOKEN || Token.Token_Id ==
PERCENT_TOKEN);
  if(Local_Flag)
  {
     Local_Index = Table_Index;
  }
  else
  {
     if(Token.Token_Id == SET_TOKEN || Modify_Only == TRUE)
     {
      /*Search for most recent table with an identifier with this name Parts
copied from Read_Symbol*/
    int Idx;
    int Found = FALSE;

      Get_Token();
     /* Search tables from newest to oldest */
     for(Idx = Table_Index; Idx > 0; Idx--)
     {
         if(Find_Symbol(Idx,Token.Token_String) != NULL)
        {
         Local_Index = Idx;
         Found = TRUE;
         break;
        }
     }
     if(Found != TRUE)
     {
      Error("#set cannot assign to uninitialized identifier
%s.\n",Token.Token_String);
     }
      Unget_Token();
     }
     else
     {
      Local_Index=1;
     }
  }
#else
  if (Local_Flag = (Token.Token_Id == LOCAL_TOKEN || Token.Token_Id ==
PERCENT_TOKEN))
  {
     Local_Index = Table_Index;
  }
  else
  {
     Local_Index = 1;
  }
#endif
/***********************************************************/

parse.h
add:
#ifdef SetPatch
  SET_TOKEN,
#endif
#ifdef GlowPatch
  GLOW_TOKEN,
#endif

change:
#ifdef SetPatch
void Parse_Declare(int Modify_Only);
#else
void Parse_Declare(void);
#endif
/***********************************************************/

povray.h
add:
#ifdef GlowPatch
#include "frame.h"/*Needed for GlowPatch definition*/
#endif

add and change:
#ifdef GlowPatch
typedef struct Glow_Struct GLOW;
#endif

struct Frame_Struct
{
  CAMERA *Camera;
  int Screen_Height, Screen_Width; /* OPTIONS */
  int Number_Of_Light_Sources;
  LIGHT_SOURCE *Light_Sources;
#ifdef GlowPatch
  GLOW * Glows;
#endif
  OBJECT *Objects;
  DBL Atmosphere_IOR, /*DSW*/Atmosphere_Dispersion,/*---*/
Antialias_Threshold;
  COLOUR Background_Colour;
  COLOUR Ambient_Light;
  COLOUR Irid_Wavelengths;
  IMEDIA *Atmosphere;
  FOG *Fog;
  RAINBOW *Rainbow;
  SKYSPHERE *Skysphere;
#ifdef ParticlePatch
  PARTICLE* Particles;
#endif
};
/***********************************************************/

render.c
add:
#ifdef GlowPatch
#include "glow.h"
#endif

add:
DBL Trace(RAY *Ray, COLOUR Colour, DBL Weight, INTERSECTION *Inter)

#ifdef GlowPatch
 Do_Glow(&Best_Intersection, Ray, Colour);
#endif
/***********************************************************/

tokenize.c
add:
#ifdef SetPatch
  {SET_TOKEN, "set"},
#endif
#ifdef GlowPatch
  {GLOW_TOKEN, "glow"},
#endif

add:
#ifndef SetPatch
static SYM_ENTRY *Find_Symbol(int Index, char *s);
#endif

add and change:
#ifdef SetPatch
SYM_ENTRY *Find_Symbol(int Index,char *Name)
#else
static SYM_ENTRY *Find_Symbol(int Index,char *Name)
#endif

add and change:
void Parse_Directive(int After_Hash)

#ifdef SetPatch
    CASE3(DECLARE_TOKEN, LOCAL_TOKEN, SET_TOKEN)
#else
    CASE2 (DECLARE_TOKEN,LOCAL_TOKEN)
#endif

add and change:
#ifdef SetPatch
         Parse_Declare(FALSE);
#else
         Parse_Declare ();
#endif

add and change:
static int Parse_Assignment()

#ifdef SetPatch
         Parse_Declare(FALSE);
#else
         Parse_Declare ();
#endif
/***********************************************************/

tokenize.h
add:
#ifdef SetPatch
SYM_ENTRY *Find_Symbol(int Index,char *Name);
#endif

Best Regards

Y.Tanabe
Kobe,Japan

tec### [at] khrimorjp


Post a reply to this message

From: Y Tanabe
Subject: Re: MegaPOVPlus 0.3.1 released
Date: 13 Sep 2000 12:38:14
Message: <39BFAD85.AB915FC4@kh.rim.or.jp>
Dear Mr. Chris Huff

I think main problem (blob's crash) is
#define ProximityPatch
for OBJECT and METHOD.

This will break down stack of memory with push or pull or blockmove.

Best Regards

Y.Tanabe
Kobe,Japan
tec### [at] khrimorjp


Post a reply to this message

From: Chris Huff
Subject: Re: MegaPOVPlus 0.3.1 released
Date: 14 Sep 2000 06:53:10
Message: <chrishuff-E4FADB.05550414092000@news.povray.org>
In article <39BFAD85.AB915FC4@kh.rim.or.jp>, tec### [at] khrimorjp 
wrote:

> Dear Mr. Chris Huff
> 
> I think main problem (blob's crash) is
> #define ProximityPatch
> for OBJECT and METHOD.
> 
> This will break down stack of memory with push or pull or blockmove.

The proximity pattern patch is my main suspect, but I couldn't figure 
out why it would cause the other functions to not work right. I haven't 
had much time to devote to it yet, though...maybe this weekend.

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Y Tanabe
Subject: Re: MegaPOVPlus 0.3.1 released
Date: 15 Sep 2000 00:16:44
Message: <39C1A2BB.3C76B5EB@kh.rim.or.jp>
Dera Chris

I am testing many files under Mega 2.05 + glow and #set.
So I notice blob_pigment does not work and blob_pattern is a little
different.
Of course comapre them with Mega 3.0.1.
I tried your BLOB in frame.h change to BLOB_OBJ,but compiler can not find
problem.
I will continue check more for resolve blob' crash.

See You

Y.Tanabe
Kobe,Japan
tec### [at] khrimorjp

Chris Huff wrote:

> The proximity pattern patch is my main suspect, but I couldn't figure
> out why it would cause the other functions to not work right. I haven't
> had much time to devote to it yet, though...maybe this weekend.
>


Post a reply to this message

From: Chris Huff
Subject: Re: MegaPOVPlus 0.3.1 released
Date: 15 Sep 2000 06:51:47
Message: <chrishuff-A94C95.05534315092000@news.povray.org>
In article <39C1A2BB.3C76B5EB@kh.rim.or.jp>, tec### [at] khrimorjp 
wrote:

> I am testing many files under Mega 2.05 + glow and #set.
> So I notice blob_pigment does not work and blob_pattern is a little
> different.
> Of course comapre them with Mega 3.0.1.

They were both changed to act a little more like the blob object and the 
code was cleaned up a bit. I have had another report of trouble with the 
blob_pigment, I haven't had a chance to look at it yet.


> I tried your BLOB in frame.h change to BLOB_OBJ,but compiler can not find
> problem.

That was just a fix for a problem with compiling on Windows, it does not 
affect Macs and is not the cause for the crash.


> I will continue check more for resolve blob' crash.

It turns out that it was most likely caused by a fix for a memory leak 
that doesn't exist in MegaPOV 0.5a. Basically, the UV-mapping 
transformations were copied twice before, and the fix was to simply 
delete the second one. However, the first one was removed in more recent 
versions of MegaPOV...so anything accessing UV-mapping transformations 
of objects which had been copied got bad data.

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

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