Fri Apr 30 00:00:00 2010
На этом уроке мы создадим модель летающих молекул и одной большой по сравнению с молекулами частицы.
Все уроки: http://www.youtube.com/view_play_list...
Исходный код: http://code.google.com/p/cplusplus-le...
ЧаВо: http://code.google.com/p/cplusplus-le...
Уроки также можно скачать с торрентов:
http://rutracker.org/forum/viewtopic....
http://nnm-club.ru/forum/viewtopic.ph...
Файлы подготовил greggh. Респект и уважуха.
Ссылка на видео, как собирать OpenGL программы: http://www.youtube.com/watch?v=VuGzY3...
Wed May 5 00:00:00 2010
Добавим немного интерактива нашим программам. Научимся обрабатывать события от мышки с помощью glut библиотеки.
Все уроки: http://www.youtube.com/view_play_list...
Исходный код: http://code.google.com/p/cplusplus-le...
ЧаВо: http://code.google.com/p/cplusplus-le...
Ссылка на видео, как собирать OpenGL программы: http://www.youtube.com/watch?v=VuGzY3...
Thu May 13 00:00:00 2010
* Первая программа
* Вывод на экран, ввод с клавиатуры
* Переменные
Исходный код: http://code.google.com/p/cplusplus-le...
ЧаВо: http://code.google.com/p/cplusplus-le...
Все уроки:
http://www.youtube.com/view_play_list...
Уроки также можно скачать с торрентов:
http://rutracker.org/forum/viewtopic....
http://nnm-club.ru/forum/viewtopic.ph...
Файлы подготовил greggh. Респект и уважуха.
Thu May 20 00:00:00 2010
На этом уроке мы попробуем нарисовать график функции двух переменных в 3D. Так же перейдем от орфографической проекции к перспективной.
Все уроки: http://www.youtube.com/view_play_list...
Исходный код: http://code.google.com/p/cplusplus-le...
ЧаВо: http://code.google.com/p/cplusplus-le...
Уроки также можно скачать с торрентов:
http://rutracker.org/forum/viewtopic....
http://nnm-club.ru/forum/viewtopic.ph...
Файлы подготовил greggh. Респект и уважуха.
Ссылка на видео, как собирать OpenGL программы: http://www.youtube.com/watch?v=VuGzY3...
Fri May 21 00:00:00 2010
На этом уроке мы нарисуем волны в 3D.
Все уроки: http://www.youtube.com/view_play_list...
Исходный код: http://code.google.com/p/cplusplus-le...
ЧаВо: http://code.google.com/p/cplusplus-le...
Уроки также можно скачать с торрентов:
http://rutracker.org/forum/viewtopic....
http://nnm-club.ru/forum/viewtopic.ph...
Файлы подготовил greggh. Респект и уважуха.
Ссылка на видео, как собирать OpenGL программы: http://www.youtube.com/watch?v=VuGzY3...
// ----------------------
// Урок 45
// Волны
#include <GL/glut.h>
#include <cmath>
const float K = 40;
const float DT = 0.03;
float sqr(float x)
{
    return x * x;
}
struct P
{
    P(): z(0), vz(0) {}
    float x;
    float y;
    float z;
    float vz;
};
const int N = 48;
P p[N][N];
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);
    for (int x = 0; x < N; ++x)
    {
        glBegin(GL_LINE_STRIP);
        for (int y = 0; y < N; ++y)
            glVertex3f(p[x][y].x, p[x][y].y, p[x][y].z * 10);
        glEnd();
    }
    for (int y = 0; y < N; ++y)
    {
        glBegin(GL_LINE_STRIP);
        for (int x = 0; x < N; ++x)
            glVertex3f(p[x][y].x, p[x][y].y, p[x][y].z * 10);
        glEnd();
    }
    glutSwapBuffers();
}
void timer(int = 0)
{
    const int dx[] = {-1, 0, 1, 0};
    const int dy[] = {0, 1, 0, -1};
    if (rand() % 500 == 0)
        p[rand() % (N - 2) + 1][rand() % (N - 2) + 1].vz += 150;
    for (int y = 1; y < N - 1; ++y)
        for (int x = 1; x < N - 1; ++x)
        {
            P &p0 = p[x][y];
            for (int i = 0; i < 4; ++i)
            {
                P &p1 = p[x + dx[i]][y + dy[i]];
                const float d = sqrt(sqr(p0.x - p1.x) + sqr(p0.y - p1.y) + sqr(p0.z - p1.z));
                p0.vz += K * (p1.z - p0.z) / d * DT;
                p0.vz *= 0.999;
            }
        }
    for (int y = 1; y < N - 1; ++y)
        for (int x = 1; x < N - 1; ++x)
        {
            P &p0 = p[x][y];
            p0.z += p0.vz * DT;
        }
    display();
    glutTimerFunc(1, timer, 0);
}
int main(int argc, char **argv)
{
    for (int x = 0; x < N; ++x)
        for (int y = 0; y < N; ++y)
        {
            p[x][y].x = x * 480 / N;
            p[x][y].y = y * 480 / N;
        }
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
    glutInitWindowSize(852, 480);
    glutInitWindowPosition(0, 86);
    glutCreateWindow("3d plot");
    glClearColor(0, 0, 0, 1.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glFrustum(-100, 100, -100, 100, 100, 2000);
    glMatrixMode(GL_MODELVIEW);
    glTranslatef(-240, -240, -200);
    glRotatef(-30, 1, 0, 0);
    glutDisplayFunc(display);
    timer();
    glutMainLoop();
}
Sat May 22 00:00:00 2010
Модель волн в OpenGL. Демонстрация к 45 уроку У меня не хватило времени подобрать хорошие параметры для волн. И я решил сделать отдельное видео с демонстрацией.
Sat Aug 28 00:00:00 2010
Полдень, 28 августа, 2010 года. Нью-Джерси, США
Sat Sep 11 00:00:00 2010
Дорога на работу. Нью-Джерси.
Sat Sep 25 00:00:00 2010
I little bit played with stop motion.
Sat Oct 2 00:00:00 2010
NJ roads [timelapse]