how are lines drawn using rom routine or your own?

On 27 May 2010 15:14, Thomas Harte <[email protected]> wrote:
> Removing hidden line removal would save the time calculating face
> visibility but then add to transformation and drawing costs.
>
> The code at present always does a calculation for every defined face,
> always considers a calculation for every defined line and performs
> calculations for vertices only if they are used as part of the model
> as it is visible for that draw operation. Vertices that are connected
> only to lines that aren't visible aren't transformed.
>
> If I were to rewrite it, I would adjust that so that, as a first
> measure, a calculation is performed for every defined face but lines
> that aren't connected to visible faces are never even considered.
> That's not a massive win in performance terms because all it does for
> lines at the minute is run through reading a couple of flags and
> proceeding or discarding based on the combination of those. However,
> if I were then able to add a broad phase to the face stuff* then it'd
> really start to pay off down the hierarchy.
>
> * as in, a prepatory step that interrogates some sort of hierarchical
> structure and hence discards large swathes of faces without doing a
> calculation for each. Usually it saves time even if it is able to
> reject, say, only 90% of invisible faces and then you have to do the
> face-by-face tests on each of the remaining potentially visible set.
> I've never been 100% on the best, or even a necessarily suitable
> hierarchical form.
>
> On Thu, May 27, 2010 at 12:51 PM, Roger Jowett <[email protected]> wrote:
>> so no hidden line removal speeds things up a bit...
>> http://www.worldofspectrum.org/infoseekid.cgi?id=0003126
>> theres a screen shot only the roads were solid line the objects seemed
>> to be dots and not hidden line either
>> think in th erooms things were all solid
>> can be seen better in this screen shot
>>
>> http://www.worldofspectrum.org/infoseek.cgi?regexp=^Mercenary%3a+The+Second+City$&pub=^Novagen+Software+Ltd$&loadpics=1
>>
>> thought battle carrier command were pretty solid/shaded 3dnot vecotrs?
>>
>> On 27 May 2010 12:08, Thomas Harte <[email protected]> wrote:
>>> Without being able to answer on the Timex or the extent to which the
>>> RAM upgrade would benefit 128k emulation, was Mercenary the one where
>>> they appeared to be drawing on only every other scanline? It's
>>> possible I've merged it with Battle Command (filled polys, draws only
>>> every other line) in my memory.
>>>
>>> I'm not completely sure on the external RAM modules, but my
>>> understanding is that they're not contended at all, which would be a
>>> substantial speed improvement for the 3d calculation parts of this
>>> sort of code and some improvement to the pixel throwing.
>>>
>>> Technically my code can do display without hidden line removal, it's
>>> just a consequence of the algorithm rather than a deliberately
>>> designed feature. It's the Elite method, each line is considered a
>>> potential edge and connected to two faces. If either face is visible
>>> then the line is drawn. The links are pointers, so you'd set both
>>> pointers to a face that isn't connected as part of the model (so the
>>> code won't recalculate whether it is visible when you draw) and has
>>> the visibility flag set.
>>>
>>> On Thu, May 27, 2010 at 9:30 AM, Roger Jowett <[email protected]> wrote:
>>>> did you see mercenary - the 3d stuff above ground was made up of dots
>>>> adn wasnt solid line removed - like starion just vectors without
>>>> hidden line removal(vu3d terminology! - mind you the shading took all
>>>> day on vu3d whereas 3d construciton kit managed to do it in 3-4 frames
>>>> possibly less with the dma from the mb-02+ - shame no one bothered
>>>> with the fdd3k had a 4mhz z80? but connected via serial interface -
>>>> assume it was faster than the interface 1 9600baud? dunno what the
>>>> sams comms interface was 19200?baud)
>>>> velesoft reckon the external 4mb has different paging to sam - can
>>>> page 16kb into last two ram pages CD of hmpr? there wasnt much info on
>>>> this in the technical manual but velesoft reckon it might help with
>>>> 128 conversion - i was thinking the sams extra ram could be filled
>>>> with every possible combination of pages that the 128 could have and
>>>> then the port out to change the ram page could be altered to the
>>>> single byte valu to include the two correct pages  - this would mean
>>>> duplicating ram pages in the sams ram internal (external - might not
>>>> need to bother)
>>>>
>>>>
>>>> forgot about that - was that the case for the timex extra attribute
>>>> screen mode? or the 512x192 mode of the timex?
>>>> do you know if it had paper and colour settings for hi rez?
>>>>
>>>> On 26 May 2010 15:01, Thomas Harte <[email protected]> wrote:
>>>>> Mode 1 routines would very nearly work in Mode 2, the main difference
>>>>> being that Mode 2 has a linear pixel layout but Mode 1 replicates the
>>>>> order of the ZX Spectrum by switching some of the bits around. There's
>>>>> also a gap between the Mode 2 pixel data and the attribute data,
>>>>> whereas in Mode 1 the attribute data is immediately after the pixel
>>>>> data (and there's less of it too, per the attribute size differences)

Reply via email to