Гайд 1 Часть. Введение в Java, обучение OpenGL

  • Автор темы Автор темы r3z
  • Дата начала Дата начала
aka wqzxqz
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
24 Ноя 2024
Сообщения
671
Реакции
11

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Введение
Этот гайд поможет нам (а также пастерам) освоить работу в IntelliJ IDEA, разобраться с основами Java и начать использовать OpenGL для работы с графикой. Всё описано простым языком, чтобы каждый смог без проблем понять, что к чему, и сразу применить знания на практике.

Часть 1: Знакомство с IntelliJ IDEA

Установка и настройка

1. Скачиваем IntelliJ IDEA
- Заходим на сайт
Пожалуйста, авторизуйтесь для просмотра ссылки.

- Выберем версию: Community (бесплатная) или Ultimate (платная, с пробным периодом. Активация платных версий - ссылка). Для начала хватит Community.
- Установим программу, просто клацаем "Next", ничего сложного.

2. Первый запуск
- Когда установили, запустим Intellij IDEA. Нас попросят выбрать тему оформления: тёмную или светлую. Рекомендую тёмную — глаза не вытекают.
- Если не знаешь, какие горячие клавиши выбрать, оставляй стандартные — они оптимальны для новичков.

3. Создание нового проекта
- Нажимаем по "New Project".
- Выбераем Java.
- Если у тебя нет JDK (Java Development Kit), там будет кнопка "Download JDK" — скачаем последнюю версию (рекомендую 17 джаву).
- Введем имя проекта, например, Pasters, и выберем, куда его сохранить (путь).

4. Создание первой программы
- В папке src (она пустая) клацаем по ПКМ -> New -> Java Class.
- Назови класс Main и напишем вот такой код:
Код:
Expand Collapse Copy
java
     public class Main {
         public static void main(String[] args) {
             System.out.println("ку пастерам!");
         }
     }
- Запустим программу, нажав зелёный треугольник (Run). В консоли ты увидишь текст "ку пастерам!".

Часть 2: Основы Java

Что нужно знать для начала?

Java — это язык, где всё строго типизировано. Это значит, что мы должны явно указывать, какой тип данных используешь. Код пишется в классах — они как контейнеры для методов и переменных.

1. Переменные и типы данных
- В Java есть разные типы данных: int (целое число), double (дробное число), String (текст) и тд
Код:
Expand Collapse Copy
java
   int number = 10;
   double price = 666.666; // дробное число
   String name = "pastaclient"; // (noad)
   System.out.println(name + " стоит аж " + price);

2. Условия
- Логика, которая проверяет, выполняется ли какое-то условие.
Код:
Expand Collapse Copy
java
   int age = 18;
   if (age >= 18) {
       System.out.println("тебе в уник пора");
   } else {
       System.out.println("ты еще пастер");
   }

3. Циклы
- Нужны, чтобы повторять одно и то же действие.
Код:
Expand Collapse Copy
java
   for (int i = 0; i < 5; i++) {
       System.out.println("итерация: " + i);
   }

4. Методы
- Позволяют разбивать код на небольшие части.
Код:
Expand Collapse Copy
java
   public class Main {
       public static void sayHello() {
           System.out.println("привет пастерам!");
       }

       public static void main(String[] args) {
           sayHello();
       }
   }

Часть 3: Основы OpenGL через LWJGL

Что такое LWJGL?


LWJGL (Lightweight Java Game Library) — это библиотека, которая позволяет работать с OpenGL и создавать графику на Java. С её помощью мы (пастеры) сможем рисовать 2D и 3D сцены.

Установка LWJGL:

1. Перейдем на сайт
Пожалуйста, авторизуйтесь для просмотра ссылки.
.
2. На вкладке Download, выберем нужные модули. Можно оставить всё по умолчанию.
3. Скачай архив и добавь библиотеки в проект:
- ПКМ по проекту -> Open Module Settings -> Libraries -> Add Library -> выберем скачанные файлы.

Создадим окно с помощью LWJGL

Сначала давайте создадим простое окно. Вот пример кода, который создает окно:
Код:
Expand Collapse Copy
java
import org.lwjgl.*;
import org.lwjgl.glfw.*;
import org.lwjgl.opengl.*;

import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.system.MemoryUtil.*;

public class OpenGLWindow {
    private long window;

    public void run() {
        init();
        loop();
        glfwTerminate();
    }

    private void init() {
        if (!glfwInit()) {
            throw new IllegalStateException("Не удалось инициализировать GLFW");
        }

        window = glfwCreateWindow(800, 600, "OpenGL Window", NULL, NULL);
        if (window == NULL) {
            throw new RuntimeException("Не удалось создать окно");
        }

        glfwMakeContextCurrent(window);
        glfwShowWindow(window);
    }

    private void loop() {
        GL.createCapabilities();

        while (!glfwWindowShouldClose(window)) {
            glClear(GL_COLOR_BUFFER_BIT);
            glfwSwapBuffers(window);
            glfwPollEvents();
        }
    }

    public static void main(String[] args) {
        new OpenGLWindow().run();
    }
}

Запустим программу, и у нас откроется окно 800x600 пикселей. Пока оно пустое, но это только начало.

Часть 4: Рисование графики

Основы координат
OpenGL использует систему координат от -1 до 1:
  • X — горизонтальная ось.
  • Y — вертикальная ось.
  • Z — глубина (для 3D).

Рисование треугольника
Чтобы нарисовать треугольник, добавим в метод loop этот код:
java
glBegin(GL_TRIANGLES);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, -0.5f);
glVertex2f(0.0f, 0.5f);
glEnd();

Теперь при запуске мы увидим треугольник.

Часть 5: Шейдеры

Шейдеры
— это небольшие программы, которые работают на видеокарте и управляют рендерингом. Обычно используются два типа шейдеров: вершинные и фрагментные.

Пример простого шейдера:

- Вершинный шейдер:
glsl
#version 330 core
layout(location = 0) in vec3 position;

void main() {
gl_Position = vec4(position, 1.0);
}

- Фрагментный шейдер:
glsl
#version 330 core
out vec4 color;

void main() {
color = vec4(1.0, 0.5, 0.2, 1.0);
}

Эти шейдеры задают координаты вершин и цвет, который будет нарисован.

На этом первая часть нашего гайда закончена. Будет еще несколько частей данного гайда. Всем удачи в своем пути программиста, жду хейта!
 
Код не рабочий, при добавлении библиотек он все равно сбоит
 
Рассказал бы про корМод, но ты же нихуя не знаешь, дал какие-то вертексы неоптимизированные.
Статья про старое говно. Про vbo&vao ни слова, хотя в шейдерах указываешь #version 330, но казалось бы, какого хуя 330 если ты вершины из обычного мода юзаешь, вон твой любимый майнкрафт уже перешёл на корМод, а ты всё шейдеры рисуешь через обычМод.
Вопрос больше к модерации, какого хуя вы такую парашу публикуете? Мне ваще похуй, нейронка это писала или он своего друга на цепи запряг, факт в том, что форум дерьмом наполняется, а вам плевать)
 
Рассказал бы про корМод, но ты же нихуя не знаешь, дал какие-то вертексы неоптимизированные.
Статья про старое говно. Про vbo&vao ни слова, хотя в шейдерах указываешь #version 330, но казалось бы, какого хуя 330 если ты вершины из обычного мода юзаешь, вон твой любимый майнкрафт уже перешёл на корМод, а ты всё шейдеры рисуешь через обычМод.
Вопрос больше к модерации, какого хуя вы такую парашу публикуете? Мне ваще похуй, нейронка это писала или он своего друга на цепи запряг, факт в том, что форум дерьмом наполняется, а вам плевать)
Согласен.
 
Рассказал бы про корМод, но ты же нихуя не знаешь, дал какие-то вертексы неоптимизированные.
Статья про старое говно. Про vbo&vao ни слова, хотя в шейдерах указываешь #version 330, но казалось бы, какого хуя 330 если ты вершины из обычного мода юзаешь, вон твой любимый майнкрафт уже перешёл на корМод, а ты всё шейдеры рисуешь через обычМод.
Вопрос больше к модерации, какого хуя вы такую парашу публикуете? Мне ваще похуй, нейронка это писала или он своего друга на цепи запряг, факт в том, что форум дерьмом наполняется, а вам плевать)
Майнкрафт комьюнити этого форума настолько увязло в болоте, что даже такой бред как это (написанный на нейронке и подкорректирован человеком) аппрувают без задних мыслей. Тут тебе и перезаливы одного и того же клиента по 5 раз, тут тебе и сливы одной и той же функции 10 раз, тут тебе и тупые вопросы (такие как дайте мне что-то там, хотя эта функция может быть уже есть на форуме, просто надо воспользоваться поиском), тут тебе и горе-кодеры, которые пишут свою пасту, кричат, что все другие пастеры. Тут форум уже не майнкрафта, а как учебник для начинающего пастера, сюда заходят чтобы просто порофлить с "кубоголовых"
 
Майнкрафт комьюнити этого форума настолько увязло в болоте, что даже такой бред как это (написанный на нейронке и подкорректирован человеком) аппрувают без задних мыслей. Тут тебе и перезаливы одного и того же клиента по 5 раз, тут тебе и сливы одной и той же функции 10 раз, тут тебе и тупые вопросы (такие как дайте мне что-то там, хотя эта функция может быть уже есть на форуме, просто надо воспользоваться поиском), тут тебе и горе-кодеры, которые пишут свою пасту, кричат, что все другие пастеры. Тут форум уже не майнкрафта, а как учебник для начинающего пастера, сюда заходят чтобы просто порофлить с "кубоголовых"
Согласен
 
что делать если пол кода при создании окна красное? я библиотеку импортировал не знаю что сделать
 
Введение
Этот гайд поможет нам (а также пастерам) освоить работу в IntelliJ IDEA, разобраться с основами Java и начать использовать OpenGL для работы с графикой. Всё описано простым языком, чтобы каждый смог без проблем понять, что к чему, и сразу применить знания на практике.

Часть 1: Знакомство с IntelliJ IDEA

Установка и настройка

1. Скачиваем IntelliJ IDEA
- Заходим на сайт
Пожалуйста, авторизуйтесь для просмотра ссылки.

- Выберем версию: Community (бесплатная) или Ultimate (платная, с пробным периодом. Активация платных версий - ссылка). Для начала хватит Community.
- Установим программу, просто клацаем "Next", ничего сложного.

2. Первый запуск
- Когда установили, запустим Intellij IDEA. Нас попросят выбрать тему оформления: тёмную или светлую. Рекомендую тёмную — глаза не вытекают.
- Если не знаешь, какие горячие клавиши выбрать, оставляй стандартные — они оптимальны для новичков.

3. Создание нового проекта
- Нажимаем по "New Project".
- Выбераем Java.
- Если у тебя нет JDK (Java Development Kit), там будет кнопка "Download JDK" — скачаем последнюю версию (рекомендую 17 джаву).
- Введем имя проекта, например, Pasters, и выберем, куда его сохранить (путь).

4. Создание первой программы
- В папке src (она пустая) клацаем по ПКМ -> New -> Java Class.
- Назови класс Main и напишем вот такой код:
Код:
Expand Collapse Copy
java
     public class Main {
         public static void main(String[] args) {
             System.out.println("ку пастерам!");
         }
     }
- Запустим программу, нажав зелёный треугольник (Run). В консоли ты увидишь текст "ку пастерам!".

Часть 2: Основы Java

Что нужно знать для начала?

Java — это язык, где всё строго типизировано. Это значит, что мы должны явно указывать, какой тип данных используешь. Код пишется в классах — они как контейнеры для методов и переменных.

1. Переменные и типы данных
- В Java есть разные типы данных: int (целое число), double (дробное число), String (текст) и тд
Код:
Expand Collapse Copy
java
   int number = 10;
   double price = 666.666; // дробное число
   String name = "pastaclient"; // (noad)
   System.out.println(name + " стоит аж " + price);

2. Условия
- Логика, которая проверяет, выполняется ли какое-то условие.
Код:
Expand Collapse Copy
java
   int age = 18;
   if (age >= 18) {
       System.out.println("тебе в уник пора");
   } else {
       System.out.println("ты еще пастер");
   }

3. Циклы
- Нужны, чтобы повторять одно и то же действие.
Код:
Expand Collapse Copy
java
   for (int i = 0; i < 5; i++) {
       System.out.println("итерация: " + i);
   }

4. Методы
- Позволяют разбивать код на небольшие части.
Код:
Expand Collapse Copy
java
   public class Main {
       public static void sayHello() {
           System.out.println("привет пастерам!");
       }

       public static void main(String[] args) {
           sayHello();
       }
   }

Часть 3: Основы OpenGL через LWJGL

Что такое LWJGL?


LWJGL (Lightweight Java Game Library) — это библиотека, которая позволяет работать с OpenGL и создавать графику на Java. С её помощью мы (пастеры) сможем рисовать 2D и 3D сцены.

Установка LWJGL:

1. Перейдем на сайт
Пожалуйста, авторизуйтесь для просмотра ссылки.
.
2. На вкладке Download, выберем нужные модули. Можно оставить всё по умолчанию.
3. Скачай архив и добавь библиотеки в проект:
- ПКМ по проекту -> Open Module Settings -> Libraries -> Add Library -> выберем скачанные файлы.

Создадим окно с помощью LWJGL

Сначала давайте создадим простое окно. Вот пример кода, который создает окно:
Код:
Expand Collapse Copy
java
import org.lwjgl.*;
import org.lwjgl.glfw.*;
import org.lwjgl.opengl.*;

import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.system.MemoryUtil.*;

public class OpenGLWindow {
    private long window;

    public void run() {
        init();
        loop();
        glfwTerminate();
    }

    private void init() {
        if (!glfwInit()) {
            throw new IllegalStateException("Не удалось инициализировать GLFW");
        }

        window = glfwCreateWindow(800, 600, "OpenGL Window", NULL, NULL);
        if (window == NULL) {
            throw new RuntimeException("Не удалось создать окно");
        }

        glfwMakeContextCurrent(window);
        glfwShowWindow(window);
    }

    private void loop() {
        GL.createCapabilities();

        while (!glfwWindowShouldClose(window)) {
            glClear(GL_COLOR_BUFFER_BIT);
            glfwSwapBuffers(window);
            glfwPollEvents();
        }
    }

    public static void main(String[] args) {
        new OpenGLWindow().run();
    }
}

Запустим программу, и у нас откроется окно 800x600 пикселей. Пока оно пустое, но это только начало.

Часть 4: Рисование графики

Основы координат
OpenGL использует систему координат от -1 до 1:
  • X — горизонтальная ось.
  • Y — вертикальная ось.
  • Z — глубина (для 3D).

Рисование треугольника
Чтобы нарисовать треугольник, добавим в метод loop этот код:
java
glBegin(GL_TRIANGLES);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, -0.5f);
glVertex2f(0.0f, 0.5f);
glEnd();

Теперь при запуске мы увидим треугольник.

Часть 5: Шейдеры

Шейдеры
— это небольшие программы, которые работают на видеокарте и управляют рендерингом. Обычно используются два типа шейдеров: вершинные и фрагментные.

Пример простого шейдера:

- Вершинный шейдер:
glsl
#version 330 core
layout(location = 0) in vec3 position;

void main() {
gl_Position = vec4(position, 1.0);
}

- Фрагментный шейдер:
glsl
#version 330 core
out vec4 color;

void main() {
color = vec4(1.0, 0.5, 0.2, 1.0);
}

Эти шейдеры задают координаты вершин и цвет, который будет нарисован.

На этом первая часть нашего гайда закончена. Будет еще несколько частей данного гайда. Всем удачи в своем пути программиста, жду хейта!
z исключительно для 3D???? Ват?
 
удали это и не возвращай прошу
 
Введение
Этот гайд поможет нам (а также пастерам) освоить работу в IntelliJ IDEA, разобраться с основами Java и начать использовать OpenGL для работы с графикой. Всё описано простым языком, чтобы каждый смог без проблем понять, что к чему, и сразу применить знания на практике.

Часть 1: Знакомство с IntelliJ IDEA

Установка и настройка

1. Скачиваем IntelliJ IDEA
- Заходим на сайт
Пожалуйста, авторизуйтесь для просмотра ссылки.

- Выберем версию: Community (бесплатная) или Ultimate (платная, с пробным периодом. Активация платных версий - ссылка). Для начала хватит Community.
- Установим программу, просто клацаем "Next", ничего сложного.

2. Первый запуск
- Когда установили, запустим Intellij IDEA. Нас попросят выбрать тему оформления: тёмную или светлую. Рекомендую тёмную — глаза не вытекают.
- Если не знаешь, какие горячие клавиши выбрать, оставляй стандартные — они оптимальны для новичков.

3. Создание нового проекта
- Нажимаем по "New Project".
- Выбераем Java.
- Если у тебя нет JDK (Java Development Kit), там будет кнопка "Download JDK" — скачаем последнюю версию (рекомендую 17 джаву).
- Введем имя проекта, например, Pasters, и выберем, куда его сохранить (путь).

4. Создание первой программы
- В папке src (она пустая) клацаем по ПКМ -> New -> Java Class.
- Назови класс Main и напишем вот такой код:
Код:
Expand Collapse Copy
java
     public class Main {
         public static void main(String[] args) {
             System.out.println("ку пастерам!");
         }
     }
- Запустим программу, нажав зелёный треугольник (Run). В консоли ты увидишь текст "ку пастерам!".

Часть 2: Основы Java

Что нужно знать для начала?

Java — это язык, где всё строго типизировано. Это значит, что мы должны явно указывать, какой тип данных используешь. Код пишется в классах — они как контейнеры для методов и переменных.

1. Переменные и типы данных
- В Java есть разные типы данных: int (целое число), double (дробное число), String (текст) и тд
Код:
Expand Collapse Copy
java
   int number = 10;
   double price = 666.666; // дробное число
   String name = "pastaclient"; // (noad)
   System.out.println(name + " стоит аж " + price);

2. Условия
- Логика, которая проверяет, выполняется ли какое-то условие.
Код:
Expand Collapse Copy
java
   int age = 18;
   if (age >= 18) {
       System.out.println("тебе в уник пора");
   } else {
       System.out.println("ты еще пастер");
   }

3. Циклы
- Нужны, чтобы повторять одно и то же действие.
Код:
Expand Collapse Copy
java
   for (int i = 0; i < 5; i++) {
       System.out.println("итерация: " + i);
   }

4. Методы
- Позволяют разбивать код на небольшие части.
Код:
Expand Collapse Copy
java
   public class Main {
       public static void sayHello() {
           System.out.println("привет пастерам!");
       }

       public static void main(String[] args) {
           sayHello();
       }
   }

Часть 3: Основы OpenGL через LWJGL

Что такое LWJGL?


LWJGL (Lightweight Java Game Library) — это библиотека, которая позволяет работать с OpenGL и создавать графику на Java. С её помощью мы (пастеры) сможем рисовать 2D и 3D сцены.

Установка LWJGL:

1. Перейдем на сайт
Пожалуйста, авторизуйтесь для просмотра ссылки.
.
2. На вкладке Download, выберем нужные модули. Можно оставить всё по умолчанию.
3. Скачай архив и добавь библиотеки в проект:
- ПКМ по проекту -> Open Module Settings -> Libraries -> Add Library -> выберем скачанные файлы.

Создадим окно с помощью LWJGL

Сначала давайте создадим простое окно. Вот пример кода, который создает окно:
Код:
Expand Collapse Copy
java
import org.lwjgl.*;
import org.lwjgl.glfw.*;
import org.lwjgl.opengl.*;

import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.system.MemoryUtil.*;

public class OpenGLWindow {
    private long window;

    public void run() {
        init();
        loop();
        glfwTerminate();
    }

    private void init() {
        if (!glfwInit()) {
            throw new IllegalStateException("Не удалось инициализировать GLFW");
        }

        window = glfwCreateWindow(800, 600, "OpenGL Window", NULL, NULL);
        if (window == NULL) {
            throw new RuntimeException("Не удалось создать окно");
        }

        glfwMakeContextCurrent(window);
        glfwShowWindow(window);
    }

    private void loop() {
        GL.createCapabilities();

        while (!glfwWindowShouldClose(window)) {
            glClear(GL_COLOR_BUFFER_BIT);
            glfwSwapBuffers(window);
            glfwPollEvents();
        }
    }

    public static void main(String[] args) {
        new OpenGLWindow().run();
    }
}

Запустим программу, и у нас откроется окно 800x600 пикселей. Пока оно пустое, но это только начало.

Часть 4: Рисование графики

Основы координат
OpenGL использует систему координат от -1 до 1:
  • X — горизонтальная ось.
  • Y — вертикальная ось.
  • Z — глубина (для 3D).

Рисование треугольника
Чтобы нарисовать треугольник, добавим в метод loop этот код:
java
glBegin(GL_TRIANGLES);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, -0.5f);
glVertex2f(0.0f, 0.5f);
glEnd();

Теперь при запуске мы увидим треугольник.

Часть 5: Шейдеры

Шейдеры
— это небольшие программы, которые работают на видеокарте и управляют рендерингом. Обычно используются два типа шейдеров: вершинные и фрагментные.

Пример простого шейдера:

- Вершинный шейдер:
glsl
#version 330 core
layout(location = 0) in vec3 position;

void main() {
gl_Position = vec4(position, 1.0);
}

- Фрагментный шейдер:
glsl
#version 330 core
out vec4 color;

void main() {
color = vec4(1.0, 0.5, 0.2, 1.0);
}

Эти шейдеры задают координаты вершин и цвет, который будет нарисован.

На этом первая часть нашего гайда закончена. Будет еще несколько частей данного гайда. Всем удачи в своем пути программиста, жду хейта!
Ого, очень хорошо
 
String (текст) и тд
а остальные я должен сам додумать? спасиба папаша за домашку нахуй

Add Library -> выберем скачанные файлы.
удобно, а то, что там доступно скачивание сразу готового gradle/maven проекта всем пох да?

4. Методы
- Позволяют разбивать код на небольшие части.
Код:
Expand Collapse Copy
public class Main {
нормальный такой метод

Чтобы нарисовать треугольник, добавим в метод loop этот код:
java
glBegin(GL_TRIANGLES);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, -0.5f);
glVertex2f(0.0f, 0.5f);
glEnd();
ох ебать актуалочка на OpenGL 3 и выше то хах)

Теперь при запуске мы увидим треугольник.
или не увидим, так как ты банально не установил цвет
 
Назад
Сверху Снизу