Изучение OpenGL через Java

вы можете использовать библиотеку редуксов как глобальное состояние

что-то вроде этого

 class Main extends Component{
    render(){
    return (
            <main className={theme.main}>
                <Header 
                    title={this.props.headerTitle}
                    boldTitle={this.state.boldTitle}
                />
                <div className={theme.content}>
                    <Switch>
                        <Route path={'/page1'} component={Page1}/>
                        <Route path={'/page2'}component={Page2}
                        />
                    </Switch>
                </div>
                <Footer/>
            </main>
        )
    }
    const mapStateToProps = state =>{
     return {     headerTitle: state.headerTitle    }
    }
    export default connect(mapStateToProps)(Main)

Page1

 class Page1 extends Component{    
    changeTitle =()=>{
     this.props.actions.changeTitle("title from Page1")
    }
    render(){
    return (
    <div>
    <button onClick={this.changeTitle}>changeTitle</button>
    </div>
    )
    }
    const mapDispatchToProps = (dispatch)=> {
        return {
            actions: bindActionCreators({ changeTitle }, dispatch)
        }
    }
    export default connect(null, mapDispatchToProps)(Page1)

код это не функционально, но это идея как вы можете использовать для этого редукс

7
задан andandandand 19 April 2009 в 16:06
поделиться

5 ответов

JOGL - это библиотека-обертка, которая позволяет использовать OpenGL в языке программирования Java. В настоящее время это эталонная реализация для JSR-231 (Java Bindings for OpenGL) , поэтому он должен быть вашим первым выбором

8
ответ дан 6 December 2019 в 19:42
поделиться

Если вы также заинтересованы в том, чтобы просто делать 3D-вещи на Java, не беспокоясь обо всех этих низкоуровневых вещах, посмотрите Java3D .

В худшем случае, вы можете посмотреть, как они используют OpenGL для хорошего учебного материала.

1
ответ дан 6 December 2019 в 19:42
поделиться

Я также провел некоторые базовые разработки для OpenGL на Delphi и Java. Я использовал JOGL, как упомянуто в ответах других, и я должен заключить, что, хотя существует очень мало различий в программировании OpenGL на Java с использованием JOGL и программировании OpenGL на других языках (Delphi, C ++ и т. Д.), Этого просто нет хорошо чувстовать. Это сводило меня с ума, чтобы все это правильно настроить, а потом писать такие вещи, как

gl.glBegin (GL.GL_QUADS)

, кажется, что нужно написать много лишнего gl, GL, GLU , и это просто мешает вам. Кроме того, я считаю, что производительность была бы намного лучше, если бы вы использовали C ++ или аналогичный, а не Java.

Я не говорю, что нужно отказаться от JOGL (Java + OpenGL), это можно сделать, и на самом деле это не слишком отличается. , но ... как я уже сказал. Попробуйте c ++, если можете.

3
ответ дан 6 December 2019 в 19:42
поделиться

если вы действительно хотите серьезно заняться трехмерным программированием, вы должны изучить C / C ++, C ++ является стандартом программирования 3d игры

1
ответ дан 6 December 2019 в 19:42
поделиться

Do it in C++, the bits you'll be using will basically be the same, because there won't be much messing about with pointers, so it's not a major leap of intuition. Also, the C++ bindings are more reliable and (in my experience) the fastest out of all the langauges available (Python in particular REALLY can't do OpenGL).

Also, C++ is always a good thing to learn, it makes you think about programming concepts in much more detail, as opposed to just popping in an ArrayList<> or whatever pre-built class kind-of-serves your purposes =]

0
ответ дан 6 December 2019 в 19:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: