Posted: 21st Jun 2007 6:18
Ive had a look but cant find the secret feature of this command that allows you to reduce the amount of sphere faces that make the primitive.

anyone remember it?
Posted: 21st Jun 2007 6:48
It takes a variable number of parameters - that's the only thing I know about that. The last two are rows and columns. They are used to determine the number of polys used. I have bumped against the limit mentioned in the help.

This is a globe thingy I came up with one rainy day not too long ago.

+ Code Snippet
REM Project: jzGlobe
REM Created: 3/8/2007 9:29:20 PM
REM
REM ***** Main Source File *****
REM

type PLANET
    object          as integer
    texture_0       as integer
    atmosphere      as integer
    atmosphere_tex0 as integer
endtype

type SATELLITE
    object          as integer
    texture_0       as integer
endtype

global milliseconds as integer = 0
global seconds as integer = 0
global minutes as integer =0
global hours as integer = 0
global timesegment as integer =0
global screen_width as integer = 0
global screen_height as integer = 0
global mid_x as integer = 0
global mid_y as integer = 0
global lasttime as integer = 0
global nowtime as integer = 0
global earth as PLANET

set display mode 1024, 768, 16
sync on
sync rate 60
color backdrop 0
autocam off
position camera 0, 0, -10
set text transparent
set text font "terminal"
set text size 18
set text to bold
screen_width = screen width()
screen_height = screen height()
mid_x = screen_width >> 1
mid_y = screen_height >> 1
lasttime = timer()
CreateGlobe()
do
    control camera using arrowkeys 0, 1.0, 1.0
    nowtime = timer()
    timesegment = nowtime - lasttime
    inc milliseconds, timesegment
    DoSolarSystem()
    if milliseconds > 999
        inc seconds
        dec milliseconds, 1000
        tick = TRUE
        if seconds > 59
            inc minutes
            dec seconds, 60
            if minutes > 59
                inc hours
                dec minutes, 60
            endif
        endif
    endif
    lasttime = nowtime
    sync
loop
DestroyGlobe()
end

function CreateGlobe()
    earth.object = 1
    make object sphere earth.object, 128, 90, 90
    earth.atmosphere = 2
    make object sphere earth.atmosphere, 144, 90, 90
    earth.texture_0 = 1
    load image "march.png", earth.texture_0, 1
    earth.atmosphere_tex0 = 2
    load image "black.jpg", earth.atmosphere_tex0, 1
    position object earth.object, 0.0, 0.0, 220.0
    position object earth.atmosphere, 0.0, 0.0, 220.0
    scale object earth.object, 100.0, 100.0, 103.3
    scale object earth.atmosphere, 100.0, 100.0, 103.3
    color object earth.object, rgb(0, 0, 255)
    color object earth.atmosphere, rgb(0, 0, 255)
    set object smoothing earth.atmosphere, 100
    set object smoothing earth.object, 100
    ghost object on earth.atmosphere, 4
    rem rotate object earth.object, 0.0, 0.0, 11.0
    zrotate object earth.object, -7.333
    rem yrotate object earth.object, -90.0
    fix object pivot earth.object
    texture object earth.object, 0, earth.texture_0
    texture object earth.atmosphere, earth.atmosphere_tex0
    set object ambient earth.object, 0
    set object specular earth.object, rgb (32, 32, 32)
    set object specular power earth.object, 0
    set object diffuse earth.object, rgb(0, 0, 255), 0
    set object emissive earth.object, rgb(0, 0, 255)
    set object ambient earth.atmosphere, 1
    set object diffuse earth.atmosphere, rgb(0, 0, 255), 0
    set object emissive earth.atmosphere, rgb(0, 0, 255)
    set object specular earth.atmosphere, rgb (16, 16, 16)
    set object specular power earth.atmosphere, 0

    make light 1
    color light 1, 255, 255, 255
    position light 1, 0.0, 0.0, -10.0
    rem set spot light 1, 120, 180
    rem point light 1, 0.0, 0.0, 0.0
    set light range 1, 5000.0

endfunction

function DestroyGlobe()
    delete object earth.object
    delete object earth.atmosphere
    delete image earth.texture_0
    delete image earth.atmosphere_tex0
endfunction

function DoSolarSystem()
    local earthrotation as float = 0.0
    local earthangle as float = 0.0

    earthrotation = 1.0 / screen fps()
    earthangle = earthrotation * 0.0041667
    earthangle = earthangle * 24.0 * 60.0
    yrotate object earth.object, object angle y(earth.object) - earthangle
endfunction

function DoSceneCleanup()
    DestroyGlobe()
    if light exist(1)
        delete light 1
    endif
    if light exist(2)
        delete light 2
    endif
endfunction


I can't recall where exactly the textures came from, but if you look at the function CreateGlobe(), I think that is perhaps what you were referring to?
Posted: 21st Jun 2007 7:01
thanks jinzai, got it mate. I was using one extra parameter instead of two for each division.



this also appears to be the lowest division thats usable
3
+ Code Snippet
make object sphere 1, 128, 3, 3
sync : sync
suspend for key
end