Author Topic: Delayed Blanking  (Read 131178 times)

0 Members and 3 Guests are viewing this topic.

Offline BlinkenLights

  • he's just this guy, ya know?
  • Administrator
  • Hero Member
  • *****
  • Posts: 730
  • Milliwatts: 4
  • Gender: Male
  • 'The Messenger' by Will Cascio
    • View Profile
Re: Delayed Blanking
« Reply #30 on: November 02, 2009, 12:15:15 am »
Coming close to the FPS (say for moving to the music) can also be achieved MUCH easier by getting it pretty damn close in laserboy, and then figuring out how off you are at the end (probably n more than a few seconds) and then just time compressing or stretching the music in any audio editing tool. You are NEVER gonna notice a difference of even 5-10 seconds when stretched over a 3 minute song..

conversely, you could (i believe) just time  stretch/compress the LB wave and achieve the same thing..

why fiddle with all that extra work of interpolation, just line it up right and let it fly.

 

Offline James

  • Administrator
  • Hero Member
  • *****
  • Posts: 2132
  • Milliwatts: 47
  • Gender: Male
    • View Profile
    • LaserBoy !!!
Re: Delayed Blanking
« Reply #31 on: November 02, 2009, 12:30:58 am »
I have to keep it looking good!

It's open source!  ;D

James.  :)
LaserBoy is Sofa King Cool!
But it will never be Alpha King Done!

Offline dtewksbury

  • Jr. Member
  • **
  • Posts: 94
  • Milliwatts: 1
  • Gender: Male
    • View Profile
Re: Delayed Blanking
« Reply #32 on: November 02, 2009, 12:31:35 am »
I did it this way so that you could tell an animation to take say 2 seconds to go from 1 state to another, and no mater how simple or complex the image is, it will take exactly that amount of time to happen. So you don't have to adjust your animations if you modify your artwork later. So if you have a couple of gears that rotate once every second, you can add some other elements in and they won't change their 'viewed' rotational speed. This works really well if you are making machines. I seem to have an obsession with creating machines.

Offline dtewksbury

  • Jr. Member
  • **
  • Posts: 94
  • Milliwatts: 1
  • Gender: Male
    • View Profile
Re: Delayed Blanking
« Reply #33 on: November 02, 2009, 12:32:57 am »
I have to keep it looking good!

It's open source!  ;D

James.  :)

Yes, fair enough. I should be doing that anyway, but sometimes, well you know. No one to keep me honest.

Offline James

  • Administrator
  • Hero Member
  • *****
  • Posts: 2132
  • Milliwatts: 47
  • Gender: Male
    • View Profile
    • LaserBoy !!!
Re: Delayed Blanking
« Reply #34 on: November 02, 2009, 12:40:13 am »
In reality, I like to keep my code all lined up like that, because I can read it much better and find my place.

It doesn't take me as long to type it as it does to come up with it.  ;D

James.  :)
LaserBoy is Sofa King Cool!
But it will never be Alpha King Done!

Offline James

  • Administrator
  • Hero Member
  • *****
  • Posts: 2132
  • Milliwatts: 47
  • Gender: Male
    • View Profile
    • LaserBoy !!!
Re: Delayed Blanking
« Reply #35 on: November 02, 2009, 12:51:52 am »
Quote
mmmm Interesting thought... How do you like Kangaroos.

I just realized the irony of this question.

This...

...is the University of Akron's mascot.

It's Zippy.......... the kangaroo!  ;D

James.  :)
« Last Edit: November 02, 2009, 01:20:37 am by James »
LaserBoy is Sofa King Cool!
But it will never be Alpha King Done!

Offline dtewksbury

  • Jr. Member
  • **
  • Posts: 94
  • Milliwatts: 1
  • Gender: Male
    • View Profile
Re: Delayed Blanking
« Reply #36 on: November 02, 2009, 01:02:30 am »
Ah, so you already have a Kangaroo.

Offline James

  • Administrator
  • Hero Member
  • *****
  • Posts: 2132
  • Milliwatts: 47
  • Gender: Male
    • View Profile
    • LaserBoy !!!
Re: Delayed Blanking
« Reply #37 on: November 03, 2009, 12:00:35 am »
Well..... I'd still love to see a real one in its native land.

You can keep your world's most venomous insects, spiders and snakes though!  :o

James.  :)
LaserBoy is Sofa King Cool!
But it will never be Alpha King Done!

Offline dtewksbury

  • Jr. Member
  • **
  • Posts: 94
  • Milliwatts: 1
  • Gender: Male
    • View Profile
Re: Delayed Blanking
« Reply #38 on: November 03, 2009, 04:24:01 pm »
Yes we do seem to have some nasty creatures. I think that you guys actually have a poisonous lizard though, thats weird, we do have some big lizards though, and they are cool. I often have to wait for them to cross the driveway when I arrive at work.

Offline James

  • Administrator
  • Hero Member
  • *****
  • Posts: 2132
  • Milliwatts: 47
  • Gender: Male
    • View Profile
    • LaserBoy !!!
Re: Delayed Blanking
« Reply #39 on: November 03, 2009, 04:38:10 pm »
Nothing like having to wait for a dinosaur to move out of your way!  ;D

I haven't asked you yet.....

Have you ever tried LaserBoy?  ???  ;D

James.  :)
LaserBoy is Sofa King Cool!
But it will never be Alpha King Done!

Offline dtewksbury

  • Jr. Member
  • **
  • Posts: 94
  • Milliwatts: 1
  • Gender: Male
    • View Profile
Re: Delayed Blanking
« Reply #40 on: November 03, 2009, 04:40:17 pm »

Which true color standard are you refering to?  Format 3, 4, or 5?  Just curious.  I don't support Format 3, for the most part.
 

What are formats 4&5?

Offline dtewksbury

  • Jr. Member
  • **
  • Posts: 94
  • Milliwatts: 1
  • Gender: Male
    • View Profile
Re: Delayed Blanking
« Reply #41 on: November 03, 2009, 04:44:53 pm »
OK I thought I had it all sorted, however it isn't quite working. If I take the next vertex's blanking and color, and apply it to each previous vertex it works OK for the LaserBoy Images, however the ILDA test pattern no longer works correctly.

I might post the read code so you can see what I am doing.

I have to be honest, it does seem a little strange to have to take the color and blanking stored a vertex ahead and apply it to the previous vertex.

Offline James

  • Administrator
  • Hero Member
  • *****
  • Posts: 2132
  • Milliwatts: 47
  • Gender: Male
    • View Profile
    • LaserBoy !!!
Re: Delayed Blanking
« Reply #42 on: November 03, 2009, 04:51:28 pm »
Quote
What are formats 4&5?

Ah Ha!

Since you are NOT and ILDA member, you would not know that!

Because of the controversy over format 3 and the BS that came from ILDA about all of that, they decided to take their ball and go home!

Now the current standard document is in the "members only" section of their website.

While they're at it, they should put the new member sign-up form there too!

Format 4 & 5 is a complete debacle of the original idea of the ILDA file format. It throws everything away and creates a new hybrid format that has no backward compatibility what so ever.

It is the same 32-byte section header; except for "ILDA" 0004 & "ILDA" 0005. This is followed with

X u_short
Y u_short
Z u_short   Format 4 has Z. Format 5 does not.
k u_char   blanking byte
b u_char
g u_char
r u_char

This puts position with blanking together, in the same chunk, with RGB colors.

Instead of taking responsibility for screwing up format 3, they just swept it under the carpet and pretended that never happened and replaced it with this crap.

Their argument seems to be that some programmers don't like to work with "outdated" palettes.

Format 3 is NOT a palette! It is exactly what you do within a palette typed file system to achieve 100% file-format-compatible true color!

I'm quite sure I have it right. I've been doing it for 6 years.

James.  :)
« Last Edit: November 03, 2009, 05:31:04 pm by James »
LaserBoy is Sofa King Cool!
But it will never be Alpha King Done!

Offline dtewksbury

  • Jr. Member
  • **
  • Posts: 94
  • Milliwatts: 1
  • Gender: Male
    • View Profile
Re: Delayed Blanking
« Reply #43 on: November 03, 2009, 05:05:33 pm »
Ah OK, thanks.

BTW, here is the code for reading an ILDA image part.



void DLILDAImport::GetImage2D(DLPointList *PL)
{
   bool bUsingTrueColor=false;
   if(FileRead(ILDAFileMap->iFHandle,&PointHeader,sizeof(ILDAPointHeader))==(int)sizeof(ILDAPointHeader))
   {
      DLPoint *p=PL->First;
      if(p) bUsingTrueColor=true;
      SwapEndian(PointHeader.NumberOfPoints);
      SwapEndian(PointHeader.FrameNumber);
      SwapEndian(PointHeader.NumberOfFrames);
      PL->FrameNumber=PointHeader.FrameNumber+1;
      PL->CountFrames=PointHeader.NumberOfFrames;
      for(int x=0; x<PointHeader.NumberOfPoints; x++)
      {
         if(FileRead(ILDAFileMap->iFHandle,&Point2D,sizeof(ILDA2DPoint))==(int)sizeof(ILDA2DPoint))
         {
            SwapEndian(*(unsigned short *)&Point2D.x);
            SwapEndian(*(unsigned short *)&Point2D.y);
            SwapEndian(Point2D.StatusCode);
            if(!p) p=PL->AddPoint(0,0,0,0,0);
            if(p)
            {
               p->p.px=Point2D.x; p->p.px/=65536; p->p.px+=0.5;
               p->p.py=Point2D.y; p->p.py/=65536; p->p.py+=0.5;
               p->p.pz=1.0;
               if(p->Prev)
               {
                  if(!bUsingTrueColor)
                  {
                     p->Prev->p.r=Palette.Color[Point2D.StatusCode&0xff][0]; p->Prev->p.r/=255;
                     p->Prev->p.g=Palette.Color[Point2D.StatusCode&0xff][1]; p->Prev->p.g/=255;
                     p->Prev->p.b=Palette.Color[Point2D.StatusCode&0xff][2]; p->Prev->p.b/=255;
                  }
                  if(Point2D.StatusCode&0x4000) p->Prev->PointFlags=DLPOINT_FLAG_BLANK;
               }
               if(x==PointHeader.NumberOfPoints-1) p->PointFlags=DLPOINT_FLAG_BLANK;
               p=p->Next;
            }
         }
         else
         {
            iLastError=4;
            break;
         }
      }
      if(!PointHeader.NumberOfPoints) iLastError=9;
   }
   else iLastError=10;
}

Offline dtewksbury

  • Jr. Member
  • **
  • Posts: 94
  • Milliwatts: 1
  • Gender: Male
    • View Profile
Re: Delayed Blanking
« Reply #44 on: November 03, 2009, 05:09:03 pm »
Here are the interpreted images. Both use the code above to interpret.

LaserBoy looks OK
ILDA doesn't


 

SMF spam blocked by CleanTalk
SimplePortal 2.3.7 © 2008-2024, SimplePortal