1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

У кого-нить есть API/SDK ?

Тема в разделе "Apple Shake", создана пользователем -, 18 июл 2002.

Модераторы: Григорий Чаленко
  1. Guest

    Есть у кого-нить API/SDK к шейку, или хотя бы нормальное описание формата SHK ?

    Точнее - интересует синтаксис для GLRender и QuickShape - тот что [cv data]

    --ts
     
  2. Guest

    SDK достать проблематично, его никогда в свободном доступе не было. Самому интересно было бы взглянуть.

    SHK формат открытый в нем не так сложно разобраться.

    Примеры работы с GLRender можно найти на Highend2D, например:

    /* This file downloaded from Highend2d.com
    ''
    '' Highend2d.com File Information:
    ''
    '' Script Name: Arc v1.0
    '' Author: Emmanuel Mogenet
    '' Last Updated: June 18, 2001
    '' Update/Change this file at:
    '' http://www.highend2d.com/shake/macros/?section=image#1112
    ''
    '' Please do not alter any information above this line
    '' it is generated dynamically by Highend2d.com and will
    '' be changed automatically on any updates.
    */

    /*
    * Add declaration for internal NGL render node
    * which, for some reason, is missing from nreal.h.
    */
    extern "nrfx.dll" image NGLRender(
    int width,
    int height,
    int bytes,
    const char *expr
    );

    /*
    * Create a nice anti-aliased
    * arc with the NGL renderer.
    */
    image Arc(
    int width= GetDefaultWidth(),
    int height= GetDefaultHeight(),
    float red= 1.0f,
    float green= 1.0f,
    float blue= 1.0f,
    float angle= 0,
    float arc= 180,
    float radius= min(width,height)/2-thickness,
    float thickness= 50,
    float xCenter= width/2,
    float yCenter= height/2,
    int nPoints= 100
    )
    {
    return NGLRender(
    width,
    height,
    1,
    "
    nglPushMatrix();
    nglTranslatef(-xCenter,-yCenter,0.0f);
    nglRotatef(angle,0.0f,0.0f,1.0f);
    nglTranslatef(xCenter,yCenter,0.0f);

    nglColor3f(red,green,blue);
    nglBegin(NGL_POLYGON);
    for(int i=0;i<=nPoints;++i)
    {
    float alpha= (arc*i)/nPoints;
    float cosAlpha= cosd(alpha);
    float sinAlpha= sind(alpha);
    nglVertex2f(
    xCenter + radius*cosAlpha,
    yCenter + radius*sinAlpha
    );
    }
    for(int j=nPoints;j>=0;--j)
    {
    float alpha= (arc*j)/nPoints;
    float cosAlpha= cosd(alpha);
    float sinAlpha= sind(alpha);
    nglVertex2f(
    xCenter + (radius+thickness)*cosAlpha,
    yCenter + (radius+thickness)*sinAlpha
    );
    }
    nglEnd();
    nglPopMatrix();
    "
    );
    }

    Пример работы с CV data у QuickShape можно посмотреть здесь
    http://sam.wiggerz.net/warez/tshape.txt

    К сожалению структура [cv data] у Rotoshape закрыта, во всяком случае я с ней разобраться не смог.
     
Модераторы: Григорий Чаленко

Поделиться этой страницей