game
photo
retro
rant
Not logged in. · Lost password · Register

All content © NFGworld, unless otherwise noted, except for stuff we stole. Contact the editor-in-chief : baldbutsuave@thissitesdomain, especially if you are an attractive young female willing to do nude photography modelling. All rights reversed. 661

Split from thread 660...
submit to reddit
Author name #31
Avatar
Member since Apr 2009 · 15 posts
Group memberships: Citizens, Members
Show profile · Link to this post
In reply to post ID 1769
Hm, thank you. I might try out GIMP, just to see how much it's changed over the past several years. (Quite a lot, I imagine.)
Author name (Guest) #32
No profile available.
Link to this post
Heh. Depends on how long ago it was you last used it. I do know there is a Windows installer that tweaks the Gimp to use Photoshop terminology, and a Photoshop style MDI interface instead of the traditional GIMP multiple-window interface. I do not know, however, as I do not use it, whether it contains this specific filter or not. If it does, it might be more comfortable for someone familiar with Photoshop or Paint Shop Pro.

http://www.gimpshop.com/download.shtml

Howard, the Grum
Author name (Administrator) #33
Avatar
Member since May 2011 · 2485 posts · Location: Brisbane
Group memberships: Administrators, Members
Show profile · Link to this post
It's quite annoying that every search for a 'bloom' filter results only in the same blur routine that we've already seen.  I look forward to GIMP success.  =)
BLEARGH
Author name #34
Member since Jul 2009 · 3 posts · Location: Scotland
Group memberships: Members
Show profile · Link to this post
Subject: New CRT Scaling Algorithm
[Image: http://img183.imageshack.us/img183/4462/phosphor3xv0001.png]

Inspired by much of the discussions about CRT simulation here & elsewhere, I've started writing a new scaling algorithm that tries to accurately reproduce the effects NFG & PSIGA have been discussing and creating in photoshop. Here's a few examples:

[Image: http://img6.imageshack.us/img6/6384/ffvihoriz7.th.png] [Image: http://img127.imageshack.us/img127/3590/phosphhoriz7.th.png] [Image: http://img43.imageshack.us/img43/889/gngcomparisonlabelled.th.png]

I've posted a more indepth description here, and I'd really like to get some feedback & suggestions from both NFG & PSIGA. Feel free to post either here or in the thread I just mentioned.

It's still in the very early stages, so I'm sure there's lots of improvements still to be made!

Thanks guys! :D
Author name (Administrator) #35
Avatar
Member since May 2011 · 2485 posts · Location: Brisbane
Group memberships: Administrators, Members
Show profile · Link to this post
Very interesting work.  I have two initial thoughts about your method here:

  • You over-emphasize the vertical phosphor strips, which don't seem as noticable to me on real hardware
  • You don't emphasize the scan lines enough.

To be fair, Psiga did this too.  Both of you have created images that have a lot of attention paid to phosphors unique to one kind of screen (aperture grille) instead of the feature common to all CRTS: scanlines.  The problem with your approach is twofold:
  • Not all CRTs were aperture-grille, and shadow-mask users might not be keen on the effect
  • vertical phosphor emphasis can be magnified on close inspection by the vertical sub-pixels in LCD and plasma screens.  (Not sure how much this affects things but with my face up against the screen looking at your image, I noticed it immediately).

Now, for what you're trying to achieve this may be exactly what you're after, but I've been focusing on a more general application, things that affect all users.  The NTSC filters mentioned earlier do something similar, by concentrating on the video signal and hardware video generation artifacts, rather than the phosphors.

I don't mean to suggest your work is anything less than impressive, but if it were me I'd be putting a little more effort into the scanlines.  =)

Also, had a read through your linked post.  My name's not NSG...  ;)
BLEARGH
Author name #36
Member since Jul 2009 · 3 posts · Location: Scotland
Group memberships: Members
Show profile · Link to this post
Thanks for the feedback! (I've edited the typo, haha!  :-p )

I've got an idea of how to better produce the scanlines in a way which is closer to what you described in the very first post, so I'll be trying that out soon.

A quick question about scanlines: Does a tv scan a set number of lines for each pass, or does it vary according to the input resolution?
Author name (Administrator) #37
Avatar
Member since May 2011 · 2485 posts · Location: Brisbane
Group memberships: Administrators, Members
Show profile · Link to this post
A TV stretches the image out when a larger or smaller number of lines are received.  If it insists on drawing the rest of the lines (and I don't know that it does) it draws 'em in overscan areas where they aren't seen.
BLEARGH
Author name #38
Member since Sep 2008 · 5 posts · Location: Munich, Germany
Group memberships: Citizens, Members
Show profile · Link to this post
Since the 15,75kHz are retained for all signals the number of actual processed lines is always the same, but as Lawrence pointed out, the lower the actual resolution gets the more lines are drawn off screen. Since we're talking about actual on-screen resolution here, you need exactly one visible "scanline" per line of input resolution. This is actually were all the D3D scanline overlays fail. The DirectDraw scanline emulation in MAME is far superior is this aspect.
Author name #39
Member since Jul 2009 · 3 posts · Location: Scotland
Group memberships: Members
Show profile · Link to this post
Quote by Fudoh on 2009-07-09, 08:56:
you need exactly one visible "scanline" per line of input resolution.
Phew! I'd started working on my new approach before reading your reply, but thankfully that's the approach I've taken! :)

And thanks for the feedback NFG. I took your comments to heart, and after acquiring an old CRT and doing a few experiments I came to the same conclusions you did. So here's my latest version:

[Image: http://img199.imageshack.us/img199/627/phosphornxgng.th.png]

Comparison for the 5x algorithm:
[Image: http://img267.imageshack.us/img267/7127/somoriginal.th.png] [Image: http://img5.imageshack.us/img5/592/phosphor5xsom.th.png]


I'm still tweaking things, but it feels like a definite improvement. What do you think?
Author name (Administrator) #40
Avatar
Member since May 2011 · 2485 posts · Location: Brisbane
Group memberships: Administrators, Members
Show profile · Link to this post
I like it, the 5x method especially looks very good.  One suggestion and one critique:

  • The vertical phosphors are often too bright, particularly the red.  Arthur's belt in every image has bright red vertical elements.  In fact, all the red areas have this problem.  Phosphor 3x small has more blur so the effect is less noticable than 3x big.

  • I think a little more phosphor shrinkage in the darker graphics would be appropriate.
BLEARGH
Author name (Guest) #41
No profile available.
Link to this post
Subject: Open Emu CRT implementation
Hi.

This thread has intruiged me. Im one of the developers for OpenEmu, which is an OS X based emulator wrapper. Ive been doing some work on CRT emulation and id love your guys "obsessive compulsive" feedback.

I just finished re-writing Stellas CRT emulation code for our filtering system, and optimized it blah blah. I think its pretty damn good to be honest, but id love your feedback.

Here is a link to about 9MB of uncropped images running OpenEmu using Scale2xHQ on the GPU + our latest CRT code. Its running Sonic 1 via Gens/GS wrapper.

http://openemu.sf.net/OpenEmuCRTImages.zip

I hope you dont mind the zip, here are some relevant crops:

Original Scale2XHQ
[Image: http://openemu.sourceforge.net/wp/wp-content/uploads/wp-uploads/2009/07/Crop-Scale2XHQ.png]

OpenEmu CRT has a few CRT masks, some with RGB phosphors and some that just do scalines to kind of maintain luminance. Masking tends to make things dark if you dont bloom filter

Straight Mask:
[Image: http://openemu.sourceforge.net/wp/wp-content/uploads/wp-uploads/2009/07/Crop-Scale2XHQ-+-CRT-Straight.png]

Staggered Mask:
[Image: http://openemu.sourceforge.net/wp/wp-content/uploads/wp-uploads/2009/07/Crop-Scale2XHQ-+-CRT-Staggered.png]

And here are the masks bloomed with a medium quality 2 pass filter:
Straight:
[Image: http://openemu.sourceforge.net/wp/wp-content/uploads/wp-uploads/2009/07/Crop-Scale2XHQ-+-CRT-Straight-Scanline-Blur-1.png]

Staggered:
[Image: http://openemu.sourceforge.net/wp/wp-content/uploads/wp-uploads/2009/07/Crop-Scale2XHQ-+-CRT-Staggered-Scanline-Blur-1.png]

Before I implemented this optimized version of the CRT filter I made a video of the old code that imbeds the emulator in an image of an old TV and uses the iSight camera on my laptop to capture and make a reflection image, I thought you guys might enjoy that:

http://openemu.sourceforge.net/2009/07/02/openemu-filters-…

Let me know what you think, im super curious. There are admitedly some artifacts with some of the blurs, im trying to work out where those are coming from. On my older 2.3 Ghz Mac Book Pro with ATI x1600 I can get anywhere from 60 to 30 fps (vsynced) using Scale2XHQ + CRT filters.

Look forward to feedback!
Author name (Guest) #42
No profile available.
Link to this post
oh, and thanks for allowing guest posters. Sorry for the stupid typos, I realized I could not edit after I posted har.
Author name (Administrator) #43
Avatar
Member since May 2011 · 2485 posts · Location: Brisbane
Group memberships: Administrators, Members
Show profile · Link to this post
Some interesting work with the phosphor emulation, but my criticism with your effort is largely the same as for Xythen's Work, only moreso: he underemphasized the scanlines, you completely ignored them.  You've focused on one aspect of a CRT while skipping over their biggest visual artifact.  Also, when you scale the image first (a byproduct of skipping over the scanlines) you create what is essentially an image that looks completely unlike anything in existence, and I wonder now what it is you're trying to duplicate.  ;)

So I guess the measure of your success can't be revealed until you clarify your goals.  Certainly, if your goal was to emulate the appearance of games on CRTs, you missed the mark a bit.  If all you wanted was to emulate the phosphor patterns, well you pretty much nailed it.  What you've ended up with is a lot closer to scaled images on a high-res CRT, like a big old SVGA monitor or something.

At some point the harsh reality must set in for all of us: we just can't do CRT on LCD, in the same way that we can't do vectors on LCDs.  We can fake some parts of it, but we can't recreate the super-bright vibrance of electrons smashing into phosphors, the nigh perfect refresh rates, the super-dark blacks, etc.

For reference, here's what scanlines look like on a 14" 15/31kHz shadow-mask CRT (An NEC game/computer monitor from Japan, in this case):

[Image: /grafx/games/Castlevania-scanlines.jpg]

Note several things:
  • Scanlines
  • Illuminated lines are thicker when brighter
  • Position of actual phosphor elements is vertically random on a scanline

This all goes back to the advantages of analogue video.  Check out this next image which shows a vertically larger image, with scanlines that are just spaced out slightly.  Richter's 10% taller but nothing changes as far as the quality of the image: it's just as awesome (or shitty) as it was before.

[Image: /grafx/games/Castlevania-scanlines-2.jpg]

(These images were originally created for my article in Xbox 360 mag UK)
BLEARGH
Author name (Guest) #44
No profile available.
Link to this post
You make some very good points. I think my goals so to speak are to make it look as convincing as possible. This is still a work in progress, and your point re: the scanlines stands. I certainly need to correct for that oversight.

Im well aware of the limitations (nay, differences) of analog video vs digital, this is just an ongoing attempt to reminisce a bit.

As for scaling prior to 'CRT-ing', yeah, in retrospect that was pretty retarded haha. The nice thing about the QC Setup is that I can simply re-route the patch-cord and not waste the cycles. I think ill add a final scanline pass at the every 3 pixels mark as was mentioned earlier and do a bit of reverse convolution to see if the areas around the image are bright, and not write out as dark a value.

Thanks a lot for the feedback, its appreciated!
Author name (Guest) #45
No profile available.
Link to this post
What's missing is the 240p/288p effect, where every second line is blank. This is also known as double-strike mode.

Try scaling the pictures by two. Double the pixels horozontally and add blank lines vertically. Then run it through these filters and see how that looks.
Close Smaller – Larger + Reply to this post:
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Page:  previous  1  2  3  4  next 
We love UNB by Yves Goergen!