はてなキーワード: openglとは
なんか昨日から色々悩みまくってググりまくって、どうもVisual Studioのバグみたい、
というところまでGitHubのissuesとか読んで、たどり着いたけど、なんか精神的にもつらい…
そういえば、だいぶ昔にAccessの開発中にバグを見つけたこともあったなぁ…
あれは自分で試行錯誤して回避できたけど、昨今のMicrosoftのデスクトップ開発はわけわからん…
WPFだのUWPだの、これからReunionだのWinUI 3だの、.Net Frameworkのバージョンも乱立し、
.Net coreだのstandardだの、なんか面倒になってElectronだの、
もうゲームのフレームワークでOpenGLなりDirectXなりでGUIも自分で書いた方が早いんでなの?
みたいになったり、なんだかんだでWindowsのストアが盛り上がらないの分かる気がする、
というか、Windows Phoneが失敗した痛手をまだ引き摺ってる気もする
HTMLだけ書ければWebは最低限GUIができてしまうわけだけど、
どうしてこんなにネイティブWindowsだと、.NET時代になっても魔窟になるんだろうな
MVVMフレームワークも乱立してるし、
でも、それでできたアプリがElectronと変わらないような感じだったりして落胆するんだけど、
こういうオープンソースとか詳しい人ってどんなスマホやパソコン使ってんだろ?
気になるし資金的余裕があれば真似したい
とのことなので暇だし書いてみる
OS | Arch Linux |
CPU | Ryzen 9 5900X |
ワーキングメモリ | 32GB DDR4 SDRAM |
ストレージ(システム) | 1TB NVMe SSD |
ストレージ(データ1) | 6TB SATA HDD(RAID0+1) |
ストレージ(データ2) | 6TB SATA HDD(RAID0+1) |
ストレージ(データ3) | 6TB SATA HDD(RAID0+1) |
ストレージ(データ4) | 6TB SATA HDD(RAID0+1) |
GPU | Radeon RX 6900 XT 16GB |
ディスプレイモニタ(プライマリ) | LG 35WN75C-B |
ディスプレイモニタ(セカンダリ) | 中華ノーブランド14インチ16:9タッチスクリーンディスプレイ |
キーボード | Lily58 Pro(黒軸) |
トラックボール | Expert Mouse K72359JP |
AMDな理由はOpenGLを重視したから
データには主に子供の写真や動画が一杯入ってるので速度と冗長性を取ってHDDを無駄使いしてる
タッチスクリーンディスプレイはタッチスクリーン使うアプリ開発用でAliExpressから拾ってきたガワがない詳細不明品、3Dプリンタで作ったガワで無理矢理マウントアームに付けてる
OS | Chrome OS |
CPU | Core i7-10510U |
ワーキングメモリ | 16GB DDR4 SDRAM |
ストレージ(システム+データ) | 512GB NVMe SSD |
ディスプレイモニタ | 14インチFullHD |
ノートパソコンではメインとなってるChromebook
実質的にAndroid Appsが動くLinuxディストリビューションなので非常に便利
Chrome OSの有用さを友人へ伝えるたび鼻で笑われていたが、コロナ禍でまさかの注目株に
Chrome OSを使ってる理由が、UNIX使いたい人が安定しているUNIXとしてmacOSを選ぶみたいなノリで、安定しているLinuxディストリビューションとしてChrome OSを使っていると理解してもらえれば良い
ちょっと突っ込んだ使い方しようとすると途端に意味不明な挙動をするところまでmacOSと同じである
OS | Chrome OS |
CPU | Core i3-10110Y |
ワーキングメモリ | 8GB DDR4 SDRAM |
ストレージ(システム+データ) | 512GB NVMe SSD |
ディスプレイモニタ | 7インチFullHD+ |
Windows 10からChrome OSへ置き換えた我が家では実質的にタブレットとして運用されているノートパソコン
ほぼ子供の玩具で一緒にゲームしたりYoutubeみたり電子書籍を読むのに使われている
Chrome OSへ置き換えたのでAndroid Appsも動く
OS | Android 10 |
CPU | Tegra X1+ |
ワーキングメモリ | 3GB DDR4 SDRAM |
ストレージ1(システム+データ) | 16GB NVMe SSD |
ストレージ2(システム+データ) | 1TB SATA HDD |
日本ではほとんど注目されないスマートセットトップボックス
リビングのTVでYoutubeやNetflixを観るのにこれ以上の選択肢はないのだが一般家庭にはあまり普及してないようだ
ちなみにゲームをプレイできたりNASへ接続できたりもする
OS | Android 10 |
CPU | Snapdragon 835 |
ワーキングメモリ | 6GB |
ストレージ1(システム+データ) | 128GB |
ディスプレイモニタ | 5.99インチFHD+ |
カメラ(フロント) | 8MP |
カメラ(リア) | 16MP |
バッテリー | 3,200mAh Li-ion |
防水 | IPX67 |
生体認証 | 指紋・顔 |
IC | NFC A/B |
充電 | USB-C・ワイヤレス |
重量 | 243g |
メインで使ってるスマートフォン
ハードウェアQWERTYキーボードを搭載していてTermuxでsshするときに役立つ
スライド機構を搭載しておりQWERTYキーボードをシャコンとスライドさせて出せ、普段は普通のスマートフォンのように使える
OS | Android 10 |
CPU | MediaTek Helio P60 |
ワーキングメモリ | 6GB |
ストレージ1(システム+データ) | 128GB |
ディスプレイモニタ | 4.6インチHD+ |
カメラ(フロント) | 8MP |
カメラ(リア) | 16MP |
バッテリー | 6,000mAh Li-ion |
防水 | IPX67 |
生体認証 | 指紋・顔 |
IC | NFC A/B |
充電 | USB-C・ワイヤレス |
重量 | 303g |
サブで使ってるスマートフォン
ガジェット界隈では有名な鈍器で、iPad mini 2019が約300gだったことを考えれば鈍器と呼ばれる所以がわかる
バカバカしいスマホに思えるけど本来はタフネススマホなので頑丈さに特化したからこその重さ
バッテリーが大容量なためモバイル無線LANルーター代わりで持ち歩いている
小型版のUnihertz Titan Pocketが予定されているけれどもちろん買う
OS | SailfishOS |
CPU | Snapdragon 690 |
ワーキングメモリ | 6GB |
ストレージ1(システム+データ) | 128GB |
ディスプレイモニタ | 6インチFHD+ |
カメラ(フロント) | 8MP |
カメラ(リア1) | 12MP |
カメラ(リア2) | 8MP |
カメラ(リア3) | 8MP |
バッテリー | 4,500mAh Li-ion |
防水 | IPX67 |
生体認証 | 指紋・顔 |
IC | NFC A/B |
充電 | USB-C |
重量 | 169g |
お遊び、検証・研究用のスマートフォン
最近のスマホは一般的に普及しているものと異なるアスペクト比を採用していることが増えてきてるのでTitanと合わせてアスペクト比確認用としても使う(アスペクト比が異なってても正しくレンダリングさせるの今後マジで必須だよ。アスペクト比の決め打ちイクナイ)
現在は一部界隈で注目されていたSailfishOSがインストールされているが、ぶっちゃけオープンソースコミュニティ関連で人と会うときに見せるためだけに用意している
OS | Wear OS |
CPU | Snapdragon Wear 3100 |
ワーキングメモリ | 1GB |
ストレージ(システム+データ) | 8GB |
ディスプレイモニタ | 1.28インチ |
バッテリー | 310mAh Li-ion(1Day+) |
防水 | IPX67(3気圧) |
IC | NFC A/B |
充電 | 独自 |
重量 | 約50g(モデルにより異なる) |
AndroidベースのWear OSを搭載したApple Watch対抗のスマートウォッチ
美点はスタイリングデザインの豊富さと微妙にApple Watchよりもバッテリーの保ちが良いこと(使い方によって逆転できるレベルの違い、誤差レベルと言って良い)
AndroidやChrome OSとの連携はさすがで、スマホを取り出さなくても使えるGoogle Assistantはスマート電球やスマートSTBの操作に便利
ただやはりApple Watchも抱えている問題でフル機能を活用するとバッテリの保ちが1日+数時間というのは時計としてどうなんだろう
スマートウォッチが好きじゃないと毎日充電する気にはならないとは思う
OS | 独自ファームウェア |
CPU | Dialog DA14697 SoC |
ワーキングメモリ | 512KB |
ストレージ(システム+データ) | 16MB |
ディスプレイモニタ | 1.1インチ |
バッテリー | 125mAh Li-ion(14Day+) |
防水 | IPX67(3気圧) |
IC | NFC A/B |
充電 | 独自 |
重量 | 約12g |
スマートウォッチの大本命
安価でありながらスマートウォッチに求められることの大半が可能
大半の人にはMi Smart Band 5で十分、Apple WatchやWear OSスマートウォッチは必要ないこと間違いなし
そろそろ新型のMi Smart Band 6が大陸以外でもリリースされる予定なので楽しみだ
万が一、億が一、Mi Smart Bandに機能不足を感じたらApple WatchやWear OSスマートウォッチを検討しよう
Apple WatchやWear OSスマートウォッチは自分のようなマニアがポチポチして遊ぶような代物であって全くもってマニア以外にはオススメしない
ちなみに自分はマニアなので左手首にTHE CARLYLE HR SMARTWATCH、右手首にMi Smart Band 5だ
自分は商用UNIXっぽいから20年近く使ってきたけどM1から完全に買う気力が失せた
その商用UNIXっぽさで国立大学とか公的な研究所でMacは導入されてきた経緯があるけど、
それはXQuartzとか前提にしている話であって、もうUbuntuもWaylandがデフォルトになる時代になってきたし、
Macはハードで強制的に対応できるOSを切り捨てるので、自分が所有するMacもOSを上げられなくなったし、
といっても、財産というか色々あるので、homebrewも対応が切れていちいちソースからビルドしろと言われるようになったけど、
まだWebとかグラフィック関係ないならコードも書けるし、テキスト周りはまだ使うけど、
でも、このへんでMacはやめてUbuntuかなあ、と思って、こうやってUbuntu使って書いてるわけだけど
Metalとかも面白そうではあるけど、もういいかなあという気がする
VAIOの偉い人が言ってたみたいに、AppleのM1みたいな試みは非常に面白いし歓迎するけど、
快適なユーザーエクスペリエンスはたった1つのチップから生み出されるわけではないので、
CPUが速いだの遅いだのも大事だけど、総合的なハードウェアの構成が快適環境に繋がるというのは同意なんだよね
そういえば、MacはOpenGLも対応しなくなったし、OpenGLの規格がクソみたいなのは理解できるけど、
MacのためにMetalに対応するより、動的にVulkanを無理矢理動かすような方法に落ち着く気もするし、
自分は不勉強なのでよく知らんのだけど、参考にしてるソースの中の1つの作者がWayland対応はやめてたなあ…
男は黙ってQtを使え、
なんだろうけど、なんかQtもなあ…、嫌なんだよなあ…、
と思いつつ、GLFWとかSDLで抽象化するのも困るみたいでX11書き始めたらハマった…
でも、GitHub漁ってると一人でX11だろうがGDI+だろうが、サクサク全対応書く人はいるんだなあ
もうWinMainだの忘れたよ…、はー
そういえば、ペゾルド本がWin32の鈍器みたいな本だった時代があったけど、
あれは良い本だけど、正直、第一章で疲れて読む気が失せたんだよなあ
ウィンドウ一枚表示するのにこんなに書くの?数行で出ないの?みたいに思いながら読むのが苦痛だった
でも、未だにQtとか使わないと、そのへんの基本設計も含めて世の中解決していないことは多いのだよなあと思ったり
OpenGL 1の時代は非力だったけど、ちょっとしたものを書くのは分かりやすかった
GLUTで対処できた時代だったからでもあるけど、やれることは今よりショボくても分かりやすかった
でも、今は乱立するバージョンとかシェーディング言語のバージョンとか、色々ハマることが多くなった気がする
Windowsだけ、Linuxだけだとしても、あらゆるグラフィクス環境に対応しなければならない
もしくはできるだけ低いバージョンに抑えるとかなんだろうけど
パソコンもスマートフォンも普段使っていて別段困る事はない。しかしながら戦術の通りプログラミングやソフトウェア、
そして最新のハードウェア等になるとまるっきりついていけない。ハードウェアはUSB-TypeCにも種類があるとか理解できない。
俺もコネクタなんて種類が多くてもう分かんないw
こういうのも技術的な意味合いのものと、商業的な大人の事情によるものが混在しているわけで
メンテナンスできないものを使い続けるというのはあんまりないはず
印刷の現場でClassic Macを使っていたり、工場でPC-9801を使っている現場は今でもあるにはあるけど、
日常でClassic MacやPC-9801を頻繁に見ることはないはず
西暦2020年にもなって、プログラミングが簡単には出来ないし、ハードウェアの規格も完全に統一はされていない。
というかプログラミング言語自体多すぎる。ソフトウェアはデファクトスタンダードのモノ程度は知っているが、
例えば、Windowsのゲームを開発するときDirectXを使うと思うのだけど、なんでマイクロソフトがわざわざDirectX作ったかというと、
商業的側面は、OpenGLとかはJISのような規格なので、マイクロソフトは口出しできない、主導権が握れない、
技術的側面は、規格の策定はビジネスのスピードより遅く、グラフィクスカードの進歩に追いつかない、OpenGLよりも先んじて先進的な技術をユーザーに提供したい、
みたいな思惑があるわけだ
この選択は正しかったと思われる、それがXBoxの開発にもつながるし、Windowsデスクトップの表現力にもつながった
言語が多くなるのは近年のCPUなどのアーキテクチャに則した言語を作りたい、
折角作り直すんだったら文法なども変えたい、みたいな考えがあると思う
フロッピーディスクなんてもう終わったのだからいい加減AドライブをSSDまたはHDDにするべきじゃないのかとすら思う。
だけどずっとCのままだ。
古いプログラムの中には「C」と決め打ちで書かれてしまっているため、Cドライブという概念をなくすとこれまでの資産が全部動かなくなる
そうすると、Windowsのような最初のHDDをCドライブと決めているOSは誰も使わなくなってしまう
俺も役所への手続きだの、これを知っているのが大人の常識だの、みんなクソ喰らえだと思っているけど、
そうしないと駄目みたいな世間の空気があるので、嫌々ググって調べたり、お役所ルールバカすぎるだろwと思ったりするけど、
ただ、コンピュータを製造するのは企業だし、そこにはビジネス的な大人の事情とか思惑が介入するわけで、
そうなると純粋な情報処理という学問を阻害されることは容易に起こるわけである
だって、自分でゼロからコンピュータやOSを作るわけにはいかないし
かと言って、企業もまったく情報処理学や数学を無視したものを製造できるはずもないわけで、
これって流行り廃れる技術なのか、少なくとも死ぬまで廃れることのない技術なのか、みたいな選定の目につながる気がする
言語も、まあ色々だけど、とりあえずCのような言語がちゃんとできればコンピュータの中が分かってないと書けないところがあるからCをやる意味はある
Linuxカーネルの一部にRustを実験的に持ち込んだりしてるみたいだけど、Cがなくなることはまだまだない、というかこれからもずっと続くと思う
なんだかんだCはRustより書きやすいと思うし、書きやすいからこそRustよりデンジャラスなのだ
Cドライブ云々は、例えばLinuxではCドライブという概念がないが、
同じコードをWindowsとLinuxで動かすなら、まずOSの種類を判定するコードを書いて、そこからパスの生成を分岐させればいい
ので、まずはTCP/IPとか喋れるようにカメレオンだったかをインストールするところからがスタートだった時期があった気がする
それは当然、箱で買ってきて中のCD-ROMからインストールするわけで、インストールすればモデム経由でtelnetやmosaicが動作するようになる
そもそも、MicrosoftはWindows 95になってもインターネットに否定的で、独自のネットワークを推していたから(Microsoft Network?
まあ、OpenGLに対してDirectX作ったのは正解だったのかもしれないけど
最近のMicrosoftは180度方向が変わったかのように、
独自Edge放棄してChromium使った方がコスト安いし車輪の再発明なんてバカバカしいよねーw
なんだったらオープンソースコミュニティに金出すよGitHubに金出すよ、
Rustいいね採用してみるよRustでWindowsデスクトップアプリとりあえず書けるようにしてみたでー
みたいに急転換してしまったが、これはこれで楽しい気もするし、