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

aka wqzxqz
Read Only
Статус
Оффлайн
Регистрация
24 Ноя 2024
Сообщения
268
Реакции[?]
4
Поинты[?]
4K

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

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для 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 и напишем вот такой код:
Код:
java
     public class Main {
         public static void main(String[] args) {
             System.out.println("ку пастерам!");
         }
     }
- Запустим программу, нажав зелёный треугольник (Run). В консоли ты увидишь текст "ку пастерам!".

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

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

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

1. Переменные и типы данных
- В Java есть разные типы данных: int (целое число), double (дробное число), String (текст) и тд
Код:
java
   int number = 10;
   double price = 666.666; // дробное число
   String name = "pastaclient"; // (noad)
   System.out.println(name + " стоит аж " + price);
2. Условия
- Логика, которая проверяет, выполняется ли какое-то условие.
Код:
java
   int age = 18;
   if (age >= 18) {
       System.out.println("тебе в уник пора");
   } else {
       System.out.println("ты еще пастер");
   }
3. Циклы
- Нужны, чтобы повторять одно и то же действие.
Код:
java
   for (int i = 0; i < 5; i++) {
       System.out.println("итерация: " + i);
   }
4. Методы
- Позволяют разбивать код на небольшие части.
Код:
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

Сначала давайте создадим простое окно. Вот пример кода, который создает окно:
Код:
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);
}

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

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